%diffstat fs/dcache.c | 7 +++++++ include/linux/dcache.h | 1 + 2 files changed, 8 insertions(+) %patch Index: linux-2.6.6/fs/dcache.c =================================================================== --- linux-2.6.6.orig/fs/dcache.c 2004-05-22 02:11:17.000000000 +0800 +++ linux-2.6.6/fs/dcache.c 2004-05-22 02:14:46.000000000 +0800 @@ -217,6 +217,13 @@ int d_invalidate(struct dentry * dentry) spin_unlock(&dcache_lock); return 0; } + + /* network invalidation by Lustre */ + if (dentry->d_flags & DCACHE_LUSTRE_INVALID) { + spin_unlock(&dcache_lock); + return 0; + } + /* * Check whether to do a partial shrink_dcache * to get rid of unused child entries. Index: linux-2.6.6/include/linux/dcache.h =================================================================== --- linux-2.6.6.orig/include/linux/dcache.h 2004-05-22 02:10:01.000000000 +0800 +++ linux-2.6.6/include/linux/dcache.h 2004-05-22 02:15:17.000000000 +0800 @@ -153,6 +153,7 @@ d_iput: no no yes #define DCACHE_REFERENCED 0x0008 /* Recently used, don't discard. */ #define DCACHE_UNHASHED 0x0010 +#define DCACHE_LUSTRE_INVALID 0x0020 /* invalidated by Lustre */ extern spinlock_t dcache_lock;