]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - fs/cifs/inode.c
cifs: define inode-level cache object and register them
[net-next-2.6.git] / fs / cifs / inode.c
index f884cb51622ad76e0dbe8dc4e100116676545d05..5a68b92a0f9aebfff069109b3846801764298d54 100644 (file)
@@ -29,6 +29,7 @@
 #include "cifsproto.h"
 #include "cifs_debug.h"
 #include "cifs_fs_sb.h"
+#include "fscache.h"
 
 
 static void cifs_set_ops(struct inode *inode, const bool is_dfs_referral)
@@ -776,6 +777,8 @@ retry_iget5_locked:
                        inode->i_flags |= S_NOATIME | S_NOCMTIME;
                if (inode->i_state & I_NEW) {
                        inode->i_ino = hash;
+                       /* initialize per-inode cache cookie pointer */
+                       CIFS_I(inode)->fscache = NULL;
                        unlock_new_inode(inode);
                }
        }
@@ -1571,6 +1574,7 @@ cifs_invalidate_mapping(struct inode *inode)
                        cifs_i->write_behind_rc = rc;
        }
        invalidate_remote_inode(inode);
+       cifs_fscache_reset_inode_cookie(inode);
 }
 
 int cifs_revalidate_file(struct file *filp)