From: Marc Dionne Date: Tue, 25 Jan 2011 23:18:56 +0000 (-0500) Subject: linux: 2.6.38: Make d_revalidate RCU-walk aware X-Git-Tag: upstream/1.6.0.pre2^2~33 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=f709e62625758e6c65f752b7d29c2ce1123ee9d4;p=packages%2Fo%2Fopenafs.git linux: 2.6.38: Make d_revalidate RCU-walk aware 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 Reviewed-by: Derrick Brashear Change-Id: I44d8577feba382a193d1f1735a05db74c3151df0 Reviewed-on: http://gerrit.openafs.org/3870 Tested-by: BuildBot Reviewed-by: Derrick Brashear --- diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 02aadd48f..f74b1bb7a 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -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) {