]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
linux: 2.6.38: Make d_revalidate RCU-walk aware
authorMarc Dionne <marc.c.dionne@gmail.com>
Tue, 25 Jan 2011 23:18:56 +0000 (18:18 -0500)
committerDerrick Brashear <shadow@dementia.org>
Tue, 8 Feb 2011 14:55:23 +0000 (06:55 -0800)
Signal to the vfs that we don't support path RCU walk in
d_revalidate.  It will call back in non-RCU mode.

(cherry picked from commit 52556d50298e4a636f07e9a3cf0b6557c882c82d)
Reviewed-on: http://gerrit.openafs.org/3759
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Change-Id: I44d8577feba382a193d1f1735a05db74c3151df0
Reviewed-on: http://gerrit.openafs.org/3870
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/afs/LINUX/osi_vnodeops.c

index 02aadd48ff7b483f3214f5d3cca7b1ab93b7c832..f74b1bb7a9a0af53a458f9bf22d861a4f75c2f79 100644 (file)
@@ -823,7 +823,13 @@ afs_linux_dentry_revalidate(struct dentry *dp, int flags)
     int valid;
     struct afs_fakestat_state fakestate;
 
+#ifdef LOOKUP_RCU
+    /* We don't support RCU path walking */
+    if (nd->flags & LOOKUP_RCU)
+       return -ECHILD;
+#endif
     AFS_GLOCK();
+
     afs_InitFakeStat(&fakestate);
 
     if (dp->d_inode) {