diff --git a/lustre/smfs/inode.c b/lustre/smfs/inode.c
index ae985c37e35098319cdfa65cd6e5540e4fbcc4c9..e336451c24bdf1539865e745cb2a595a7c27d004 100644
--- a/lustre/smfs/inode.c
+++ b/lustre/smfs/inode.c
@@ -163,6 +163,7 @@ static void smfs_dirty_inode(struct inode *inode)
 	if (!cache_inode || !cache_sb)
 		return;
 		
+	duplicate_inode(inode, cache_inode); 
 	if (cache_sb->s_op->dirty_inode)
 		cache_sb->s_op->dirty_inode(cache_inode);