source: branches/fc15-dev/server/common/patches/openafs-0006-linux-2.6.38-Make-d_revalidate-RCU-walk-aware.patch @ 1835

Last change on this file since 1835 was 1835, checked in by achernya, 13 years ago
OpenAFS builds on F15 Get OpenAFS to build on F15, using the cherry-picked patches.
File size: 1.7 KB
RevLine 
[1835]1From 7bcd8c5884683a38cbe04faa631bda15b38a492b Mon Sep 17 00:00:00 2001
2From: Marc Dionne <marc.c.dionne@gmail.com>
3Date: Tue, 25 Jan 2011 18:18:56 -0500
4Subject: [PATCH 6/8] linux: 2.6.38: Make d_revalidate RCU-walk aware
5
6Signal to the vfs that we don't support path RCU walk in
7d_revalidate.  It will call back in non-RCU mode.
8
9Reviewed-on: http://gerrit.openafs.org/3759
10Tested-by: BuildBot <buildbot@rampaginggeek.com>
11Reviewed-by: Derrick Brashear <shadow@dementia.org>
12(cherry picked from commit 52556d50298e4a636f07e9a3cf0b6557c882c82d)
13
14Change-Id: Id346ca87a1a064ab7d66140156cb8eb48a888566
15Signed-off-by: Anders Kaseorg <andersk@mit.edu>
16Reviewed-on: http://gerrit.openafs.org/3995
17Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
18Tested-by: BuildBot <buildbot@rampaginggeek.com>
19Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
20Reviewed-by: Russ Allbery <rra@stanford.edu>
21Reviewed-on: http://gerrit.openafs.org/4042
22Reviewed-by: Derrick Brashear <shadow@dementia.org>
23Tested-by: Derrick Brashear <shadow@dementia.org>
24---
25 src/afs/LINUX/osi_vnodeops.c |    6 ++++++
26 1 files changed, 6 insertions(+), 0 deletions(-)
27
28diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
29index 03294b2..e2a3e28 100644
30--- a/src/afs/LINUX/osi_vnodeops.c
31+++ b/src/afs/LINUX/osi_vnodeops.c
32@@ -865,10 +865,16 @@ afs_linux_dentry_revalidate(struct dentry *dp)
33     int valid;
34     struct afs_fakestat_state fakestate;
35 
36+#ifdef LOOKUP_RCU
37+    /* We don't support RCU path walking */
38+    if (nd->flags & LOOKUP_RCU)
39+       return -ECHILD;
40+#endif
41 #ifdef AFS_LINUX24_ENV
42     lock_kernel();
43 #endif
44     AFS_GLOCK();
45+
46     afs_InitFakeStat(&fakestate);
47 
48     if (dp->d_inode) {
49--
501.7.3.4
51
Note: See TracBrowser for help on using the repository browser.