commit 786e1fce50c2a9b1988ec05047061decc06229d5
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Apr 5 16:41:43 2017 +0200

    Update NEWS again for 1.6.20.2
    
    Finalize the 1.6.20.2 release notes, including a few late additions.
    
    Change-Id: I32a394e4af700d52f487e0db528ed261e4c2131b
    Reviewed-on: https://gerrit.openafs.org/12591
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2c06cc8e406f5c6d7d56121ebbaa271fc99706e8
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.
    
    Reviewed-on: https://gerrit.openafs.org/12593
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 6b7b4239ab22fbb301e3b50e2ca4072445ba4e9e)
    
    Change-Id: I64970ba471180d32fa5af5445e7604bbe8511b32
    Reviewed-on: https://gerrit.openafs.org/12598
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

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

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

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

commit 3b5e0cee5b57fb1e4086439c5edcaaa499ba60da
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.
    
    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>
    (cherry picked from commit c666bfee8848183ccbc566c9e0fa019088e56505)
    
    Change-Id: I2e7bf69ec5d1ae344d38b86fc3caace25b2da135
    Reviewed-on: https://gerrit.openafs.org/12587
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 24a04be1ab2f06f3e50e4646555c28d89b3fd88e
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Mar 1 13:57:41 2017 +0100

    Make OpenAFS 1.6.20.2
    
    Update configure version strings for 1.6.20.2. Note that macOS kext
    can be of form XXXX.YY[.ZZ[(d|a|b|fc)NNN]] where d dev, a alpha,
    b beta, f final candidate so we have no way to represent 1.6.20.2.
    Switch to 1.6.21 dev 2 for macOS.
    
    Change-Id: Iccc613ea6b7d1194e7a1b20fa38c54b192c3c7b4
    Reviewed-on: https://gerrit.openafs.org/12532
    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 cb124203d2b0039e4b02e4a2526cbf265aff5030
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Mar 8 14:06:52 2017 +0100

    Update NEWS for 1.6.20.2
    
    Release notes for the 1.6.20.2 release.
    
    Change-Id: Ic394e004d5db329808e731b47cea521d944d2d2b
    Reviewed-on: https://gerrit.openafs.org/12562
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 33b5495e1b6b1da44cf3218811cc2efdff46b961
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
    
    [wiesand: limit change to solaris 5.11 for stable branch]
    
    Reviewed-on: https://gerrit.openafs.org/12558
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 22d841a45fff7026318b529a41dd957ce8bb0ddf)
    
    Change-Id: I2e87f26dbac47289694346639b396dfc556368f4
    Reviewed-on: https://gerrit.openafs.org/12567
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 58464339da8884bc1530e2a8e4fe4dcfeca09d81
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Mar 8 11:48:14 2017 -0500

    linux24: remove unused NUMPAGGROUPS define
    
    Remove the unused NUMPAGGROUPS define in the pag group handling
    implementation for linux24. PAGS always take two group ids in linux24,
    so the NUMPAGGROUPS define was not used in linux24. Remove the unused
    constant.
    
    This is a 1.6.x only change, since linux24 support has been removed on
    the master branch.
    
    Change-Id: I10d4d5744420b075a10deecf052d2ecc128ad8fe
    Reviewed-on: https://gerrit.openafs.org/12563
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e99fac0e4caf6ddf6c393681a0c9744fa13c9b3e
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;
    
    Reviewed-on: https://gerrit.openafs.org/12508
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit b146c2d54ff3bd99f2c4674eb88d5af417a194d7)
    
    Change-Id: Ia012d07a3dd063e759a4a50d38e37be710e96255
    Reviewed-on: https://gerrit.openafs.org/12527
    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 3457b8965be5e86c820678f6adf1ca45ee440ddc
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.]
    
    Reviewed-on: https://gerrit.openafs.org/11979
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit aab1e71628e6a4ce68c5e59e2f815867438280d1)
    
    Change-Id: I54c1f4c1be4eed1804293aebae795b165954a3a4
    Reviewed-on: https://gerrit.openafs.org/12526
    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 4096ee7a759956202aa892d0c2347c14decf9647
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]
    
    Reviewed-on: https://gerrit.openafs.org/11978
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit ee08dbe37d9db4fe314bd88b9280bf73c92c37bd)
    
    Change-Id: Ifef8f833599eca4241b41035142e74f32e6efa99
    Reviewed-on: https://gerrit.openafs.org/12525
    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 4097d8c44c54b5b08ce16f9d177e8a46c7bc62ea
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.
    
    Reviewed-on: https://gerrit.openafs.org/12382
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit b39095c3a7e1c631bb17816b7e707bc21a6b8c71)
    
    Change-Id: I8e0531e9a7e2fc1f3d1eb8255c75ecd758dbce9a
    Reviewed-on: https://gerrit.openafs.org/12524
    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 d102a911ce103c413796f36ee1d90bcb0eb479a9
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.
    
    Reviewed-on: https://gerrit.openafs.org/12528
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 69aadea298825f1f224406064b83d1a947abf96b)
    
    Change-Id: I1dadc037727c3b73d61104d03c5051c1dc154433
    Reviewed-on: https://gerrit.openafs.org/12536
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 92b1ddf8d439dc42ff0d9dd457e22d38d8a890cc
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.
    
    Reviewed-on: https://gerrit.openafs.org/12519
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 961cee00b8f5c302de5f66beb81caa33242c7971)
    
    Change-Id: I1d16382c4a744d4624cac9a9ba2810fa664abe93
    Reviewed-on: https://gerrit.openafs.org/12534
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b032154f11ec81aee7a132992d0c5611cc630ec4
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
    
    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>
    (cherry picked from commit 6ea6c182c7fb6c22dafbbf203abcc23726e06cba)
    
    Change-Id: I06951dacef3f7639f749e82439df89ec3d78b592
    Reviewed-on: https://gerrit.openafs.org/12535
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 75a486d1e0d0c1d423256e2fb6d29627e881a246
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.
    
    Reviewed-on: https://gerrit.openafs.org/12531
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d39e7c7af77b4e1b043611e1a6e78267f5f956ef)
    
    Change-Id: I34b351b4d383c8dd91f8a7b5b9f35d9aa2854a13
    Reviewed-on: https://gerrit.openafs.org/12538
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ffc95cbbdbcf5087545a07f7850699e5fe43213d
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.
    
    Reviewed-on: https://gerrit.openafs.org/12509
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 872a63bbfb04addbdc17dc5c09ec018bb9ddf515)
    
    Change-Id: Ic1d8cdb788e7776820107c2207317e7cf04cd042
    Reviewed-on: https://gerrit.openafs.org/12511
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 266adb53f4a85921fdfac0c2dc4959028134c33d
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.
    
    Reviewed-on: https://gerrit.openafs.org/12529
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3893ed397283b0c3605def102004a645a325d476)
    
    Change-Id: Ia187a99033dd07b6b65a017fa20a7435e5d866c0
    Reviewed-on: https://gerrit.openafs.org/12533
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

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

commit a534c4ac5e2a2872b8579237cb16ae11d778b9f2
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.
    
    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>
    (cherry picked from commit 381c7afbe60a0e6d53e8cc1bca2de920574b3383)
    
    Change-Id: I6b93e337fd56294107f527af20d99f97689c1701
    Reviewed-on: https://gerrit.openafs.org/12522
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9bf43d5ce036fd0e3f0fa61a6e3cbae1c925cc28
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.
    
    Reviewed-on: http://gerrit.openafs.org/9979
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    (cherry picked from commit 720363fa9bf7cfbebdc485104b74ca6bac1895f6)
    
    Change-Id: I9e72a68a66d751139f7129b9b177ba18389c10a2
    Reviewed-on: https://gerrit.openafs.org/12521
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

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

commit 98d909d95df113f8a27307086c6a505b211f144e
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]
    
    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>
    (cherry picked from commit 1d8cb56999a4ab25ae4cbc8e8a688b8100aedd3b)
    
    Change-Id: Iee572ef3a86f5502e37ddc0775da13b874add669
    Reviewed-on: https://gerrit.openafs.org/12499
    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 7f82efd499e0542e1b887f51d1d2f4796e65fdfc
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>
    (cherry picked from commit a92a3a0675d941536103b60d708a6b3305b9b8fa)
    Reviewed-on: https://gerrit.openafs.org/12512
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
