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>
Thu, 27 Jan 2011 16:02:51 +0000 (08:02 -0800)
Signal to the vfs that we don't support path RCU walk in
d_revalidate.  It will call back in non-RCU mode.

Change-Id: I15d0d30131b205a38577666122b067807282a7cd
Reviewed-on: http://gerrit.openafs.org/3759
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

src/afs/LINUX/osi_vnodeops.c

index 40a06a2..657a317 100644 (file)
@@ -822,6 +822,12 @@ afs_linux_dentry_revalidate(struct dentry *dp, int flags)
     struct afs_fakestat_state fakestate;
     int locked = 0;
 
+#ifdef LOOKUP_RCU
+    /* We don't support RCU path walking */
+    if (nd->flags & LOOKUP_RCU)
+       return -ECHILD;
+#endif
+
     afs_InitFakeStat(&fakestate);
 
     if (dp->d_inode) {