Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
[cascardo/linux.git] / fs / orangefs / dcache.c
index 5dfc4f3..00235bf 100644 (file)
@@ -73,6 +73,7 @@ static int orangefs_revalidate_lookup(struct dentry *dentry)
                }
        }
 
+       dentry->d_time = jiffies + dcache_timeout_msecs*HZ/1000;
        ret = 1;
 out_release_op:
        op_release(new_op);
@@ -94,6 +95,9 @@ static int orangefs_d_revalidate(struct dentry *dentry, unsigned int flags)
 {
        int ret;
 
+       if (time_before(jiffies, dentry->d_time))
+               return 1;
+
        if (flags & LOOKUP_RCU)
                return -ECHILD;