source: trunk/server/common/patches/openafs-linux-3.1-rcu.patch @ 2066

Last change on this file since 2066 was 2066, checked in by achernya, 11 years ago
Merge branches/fc15-dev to trunk
File size: 1.5 KB
  • src/afs/LINUX/osi_vnodeops.c

    From f129142dde2a2637b2e638ca0cca372a45188923 Mon Sep 17 00:00:00 2001
    From: Marc Dionne <marc.c.dionne@gmail.com>
    Date: Sat, 29 Oct 2011 19:23:07 -0400
    Subject: [PATCH] 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.
    
    Reviewed-on: http://gerrit.openafs.org/5740
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 4952df3f0359531e4a660c99c94c51eb0b169f59)
    
    Change-Id: Ibd497309e6699fb585cf70e618373e800b73cbb8
    Reviewed-on: http://gerrit.openafs.org/6088
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    ---
     src/afs/LINUX/osi_vnodeops.c |    5 ++++-
     1 files changed, 4 insertions(+), 1 deletions(-)
    
    diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
    index e9215db..696146b 100644
    a b afs_linux_permission(struct inode *ip, int mode) 
    22452245    cred_t *credp;
    22462246    int tmp = 0;
    22472247
     2248    /* Check for RCU path walking */
    22482249#if defined(IOP_PERMISSION_TAKES_FLAGS)
    2249     /* We don't support RCU path walking */
    22502250    if (flags & IPERM_FLAG_RCU)
    22512251       return -ECHILD;
     2252#elif defined(MAY_NOT_BLOCK)
     2253    if (mode & MAY_NOT_BLOCK)
     2254       return -ECHILD;
    22522255#endif
    22532256
    22542257    credp = crref();
Note: See TracBrowser for help on using the repository browser.