OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_10-9-g9ff1cd9

Gerrit Code Review gerrit@openafs.org
Mon, 24 Nov 2014 04:23:26 -0500


The following commit has been merged in the openafs-stable-1_6_x branch:
commit 9ff1cd92d023f9a949b499891f552b41cb0c52e4
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.
    
    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>
    (cherry picked from commit a9a3cb2efff7e6c020be4687b004d157bc070ac6)
    
    Change-Id: I59f40258c5ea35a59681f436095922d111e344f6
    Reviewed-on: http://gerrit.openafs.org/11595
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

 acinclude.m4               |    2 +-
 src/afs/LINUX/osi_groups.c |   10 ++++++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

-- 
OpenAFS Master Repository