1 Index: linux-2.6.32-71.18.1.el6/fs/dcache.c
2 ===================================================================
3 --- linux-2.6.32-71.18.1.el6.orig/fs/dcache.c
4 +++ linux-2.6.32-71.18.1.el6/fs/dcache.c
5 @@ -280,6 +280,13 @@ int d_invalidate(struct dentry * dentry)
6 spin_unlock(&dcache_lock);
10 + /* network invalidation by Lustre */
11 + if (dentry->d_flags & DCACHE_LUSTRE_INVALID) {
12 + spin_unlock(&dcache_lock);
17 * Check whether to do a partial shrink_dcache
18 * to get rid of unused child entries.
19 Index: linux-2.6.32-71.18.1.el6/include/linux/dcache.h
20 ===================================================================
21 --- linux-2.6.32-71.18.1.el6.orig/include/linux/dcache.h
22 +++ linux-2.6.32-71.18.1.el6/include/linux/dcache.h
23 @@ -185,6 +185,7 @@ d_iput: no no no yes
24 #define DCACHE_COOKIE 0x0040 /* For use by dcookie subsystem */
26 #define DCACHE_FSNOTIFY_PARENT_WATCHED 0x0080 /* Parent inode is watched by some fsnotify listener */
27 +#define DCACHE_LUSTRE_INVALID 0x0100 /* Lustre invalidated */
29 extern spinlock_t dcache_lock;
30 extern seqlock_t rename_lock;