source:
trunk/server/common/patches/openafs-linux-3.1-rcu.patch
@
2132
Last change on this file since 2132 was 2066, checked in by achernya, 13 years ago | |
---|---|
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) 2245 2245 cred_t *credp; 2246 2246 int tmp = 0; 2247 2247 2248 /* Check for RCU path walking */ 2248 2249 #if defined(IOP_PERMISSION_TAKES_FLAGS) 2249 /* We don't support RCU path walking */2250 2250 if (flags & IPERM_FLAG_RCU) 2251 2251 return -ECHILD; 2252 #elif defined(MAY_NOT_BLOCK) 2253 if (mode & MAY_NOT_BLOCK) 2254 return -ECHILD; 2252 2255 #endif 2253 2256 2254 2257 credp = crref();
Note: See TracBrowser
for help on using the repository browser.