commit e792c31f69ddf2e01730b16211271a18903242b9
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Aug 17 14:14:15 2016 +0200

    Make OpenAFS 1.6.19pre1
    
    Update version strings for the first 1.6.19 prerelease.
    
    Change-Id: I0c3fcb99f1d3154e11c32673683e3dc5f08ef30d
    Reviewed-on: https://gerrit.openafs.org/12368
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8462602c8f2a98d78a3779f78fd6d27be08aea89
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Sep 28 12:39:26 2016 +0200

    Update NEWS for 1.6.19pre1
    
    Preliminary release notes for OpenAFS 1.6.19
    
    Change-Id: Ida6c6a70f2c26f1ddaea6d0b12d3c72cfbde06a1
    Reviewed-on: https://gerrit.openafs.org/12395
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ac17fef207a9efd88757a5ac481827a0479aba84
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.
    
    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>
    (cherry picked from commit 1cd86de2912af9ad709d2d7cf8aa35d5d28fb6b3)
    
    Change-Id: I281078577cf3d90c1e052dacad9076cffe68586f
    Reviewed-on: https://gerrit.openafs.org/12413
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4cb47a58cfe4883c1a1dc6b9553b656434365efc
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.
    
    Reviewed-on: https://gerrit.openafs.org/12414
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e17cd5df703b8a924591f92c76636dd9e0d9eaf9)
    
    Change-Id: I392bfb2bb3d2bbf8ff73a87650ca0d7e1268b356
    Reviewed-on: https://gerrit.openafs.org/12415
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4e35caf4641e0acca28df4eb153e0c6279fb9bbe
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.
    
    Reviewed-on: http://gerrit.openafs.org/8149
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 94115df4352b872ae096977d9a77fad935864688)
    
    Change-Id: I6dadad579bf62677c76fd72be6a4ebe7e66a5c60
    Reviewed-on: https://gerrit.openafs.org/12366
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 049f8eb27989a289a93a9bc109226035a20c29c2
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.
    
    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>
    (cherry picked from commit 179096d9b2c461f02236bbf670b46597ff2d4c3c)
    
    Change-Id: I5c1c80cb5bd6996b0329969e16f9359fa1dcbc91
    Reviewed-on: https://gerrit.openafs.org/12365
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1566fd6b8ec9dc95f7f323cdda0a200a478260f9
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.
    
    Reviewed-on: https://gerrit.openafs.org/12377
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 2fe3a28c6ec0ff9d19ddec5500b3a5e69b483210)
    
    Change-Id: Id8f1635444b5b49e3250addf36b64fccafd59941
    Reviewed-on: https://gerrit.openafs.org/12396
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3dfcfb8992df17da33cc7315e0ac7da1731b2a6f
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Sep 18 21:29:34 2016 -0400

    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]
    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>
    (cherry picked from commit fac0b742960899123dca6016f6ffc6ccc944f217)
    
    Change-Id: Ic9b4ceada6c743dde49aba82217bb3a9f440bb69
    Reviewed-on: https://gerrit.openafs.org/12389
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5ff18ad4eb5d4025057a67a5bf1144be03c93cd5
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
    
    Reviewed-on: https://gerrit.openafs.org/12386
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 733dcec01784617e3354c2b8b29f50b09464a4bb)
    
    Change-Id: Ic3af05a33a9df00449c5d68aa0c481167c23e60a
    Reviewed-on: https://gerrit.openafs.org/12388
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit adbf313969a09a7c5627b5dc3a38b6a09fc36728
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.
    
    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>
    (cherry picked from commit b0f433986ce344bf153cce1f6372de20750e052b)
    
    Change-Id: I2403703f9caeb190563360d8571ee0be46890f4d
    Reviewed-on: https://gerrit.openafs.org/12371
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9d4c4d4f7961768b16104ed306ae81c0e1f3b1b8
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.
    
    Reviewed-on: https://gerrit.openafs.org/11988
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 687b4d8af07dbcf187dea685e75b420884727efd)
    
    Change-Id: I03b64465a29243f2b4fdaa12e962f078c45ae344
    Reviewed-on: https://gerrit.openafs.org/12308
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ca5da3806be2df632da82424c9cc34e54fbb9dea
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.
    
    Reviewed-on: http://gerrit.openafs.org/11960
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    (cherry picked from commit 540050bbc893416fbd075ed5e349abaa5baaeba1)
    
    Change-Id: I45711fb064490a51a5ecf316b89073dbfabab55b
    Reviewed-on: https://gerrit.openafs.org/12357
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3f29b253bcda761305b5567b3936b38f797e7848
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.
    
    Reviewed-on: https://gerrit.openafs.org/12281
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d3dbdade7e8eaf6da37dd6f1f53d9f1384626071)
    
    Change-Id: I4f4e7255efd3e16e3acfec8f90bf2019cab1fb63
    Reviewed-on: https://gerrit.openafs.org/12339
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a7c2609ec46d42d26fcd8ea802e1cb2c5fa758c2
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.
    
    Reviewed-on: http://gerrit.openafs.org/7142
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    (cherry picked from commit f971a36968bdcb224ff3ffb663929d4febcab5d5)
    
    Change-Id: I72afced31735012b2832c46d0b4efd83c67c17e2
    Reviewed-on: https://gerrit.openafs.org/12373
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ec8ef18fad54a4de562969a6d7f9ad98abee251f
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.
    
    Reviewed-on: https://gerrit.openafs.org/12315
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d3b8a05d229a80100f40fca4dfdcd820313fcea8)
    
    Change-Id: Iccd9b98aea1c7cf1d63ad20c470baabe09f7a0d7
    Reviewed-on: https://gerrit.openafs.org/12340
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 672ce28b3470caa9f4ab53e82ddd77ea667823e4
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.
    
    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>
    (cherry picked from commit 7f8af1b384cfdc2964a122953e4102b4d82e6cb1)
    
    Change-Id: Icb99b61bb9ccf4d0362fc370aa4ab07cbf730b05
    Reviewed-on: https://gerrit.openafs.org/12342
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c947f3b419b7c4a219d4d23f5ab8a8b0100aeb22
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.
    
    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>
    (cherry picked from commit b3e85976936239e30d44da00bf28fbe8487f6998)
    
    Change-Id: I8a56824b9e14971b7e04698ef449daf3d8422889
    Reviewed-on: https://gerrit.openafs.org/12341
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8b1aa797a2833ed6db2c67e080b4d7f93a9a8d22
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.
    
    Reviewed-on: https://gerrit.openafs.org/12208
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit bc123573539084ffc5a16ef1efaaaced5b2be202)
    
    Change-Id: Ia5a09fe860b7a110ad55c111551702e20367ba1b
    Reviewed-on: https://gerrit.openafs.org/12309
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 62dae46841a0a19f2b82590e9d5b42dcc19af8fc
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.
    
    Reviewed-on: https://gerrit.openafs.org/12277
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 591da537e22be88da23216b2640331a7338ce0ae)
    
    Change-Id: I9964603d68feea840cb70056dafad96d2c6adea2
    Reviewed-on: https://gerrit.openafs.org/12307
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8157bde183b32e54bde9fb5b90769b2ab44032ed
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.
    
    Reviewed-on: https://gerrit.openafs.org/12276
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 5277460eaa300fc973b59d007cd3eaea93d30873)
    
    Change-Id: Idcf94dc5962a6bb183af3bfccead3b17cff2ee58
    Reviewed-on: https://gerrit.openafs.org/12306
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit bcde840ccc14f1232c5fc8769b9a74f1c892d977
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.
    
    Reviewed-on: https://gerrit.openafs.org/12275
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 91f5cecc937923e16c5feda675fccd36d2b95164)
    
    Change-Id: I6463d012c0c00b4a2738fa1045e822cda5c3304a
    Reviewed-on: https://gerrit.openafs.org/12305
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6a18b7f5024572cd51a834a63a0bff1d57af3550
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
    
    Reviewed-on: https://gerrit.openafs.org/12286
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4bd716223492aec23599a5ac01bce3cc47160bfd)
    
    Change-Id: I0390a260e53a978e5a45aaff19b832c2d4dc4f9b
    Reviewed-on: https://gerrit.openafs.org/12304
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 104778e13d7c5545ee885a622f2b720d772e4cfa
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.
    
    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>
    (cherry picked from commit 9c6e6d4c34d867639ac90ba9a46084f3700b57d1)
    
    Change-Id: I7d47304eed94e0bc2607309985ac9247d6908e0c
    Reviewed-on: https://gerrit.openafs.org/12259
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
