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: D 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 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 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 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 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 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 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 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: Derrick 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: D 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: D 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: ad71d031e bd2cc32da
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: Derrick Brashear <shadow@your-file-system.com>
Date:   Fri Sep 13 11:13:05 2013 -0400

    linux: core dump requires write fop
    
    turns out not just writev is unhappy with aio_write (only); core dumping
    wants a write file op. always provide it.
    
    FIXES 131729
    
    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: Derrick 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: Derrick 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: Derrick 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: Derrick Brashear <shadow@your-file-system.com>
Date:   Thu Sep 12 08:09:34 2013 -0400

    linux: provide read and write ops even when we have aio
    
    read/write will fall back to aio ops but e.g. writev will
    fail if there is not either a write or writev op explicitly.
    
    force the fallback via do_sync_read/do_sync_write
    
    required with 2.6.18-348.x rhel kernels but probably not newer ones
    
    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: e2d458c11 e79102e79
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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick Brashear <shadow@dementix.org>
Date:   Mon Nov 21 12:06:59 2011 -0500

    ihandle: don't keep reallyclosing future fds
    
    given that we can mark something invalid for future use, ever,
    once we have done so for all fds, we ih_reallyclose is done.
    don't persist the setting to the detriment of new fds
    
    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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick Brashear <shadow@dementix.org>
Date:   Sun Nov 27 10:42:59 2011 -0500

    namei: force-close fd on read or write error
    
    if we errored, just reallyclose so we'll get a new fd
    
    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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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>
