aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/inode.c
diff options
context:
space:
mode:
authorSuresh Jayaraman <sjayaraman@suse.de>2010-07-05 08:42:45 -0400
committerSteve French <sfrench@us.ibm.com>2010-08-02 08:40:36 -0400
commit9451a9a52f91a4c171cfaca2f6d7a2ce91867b8d (patch)
treee447d252996e554a053890a75b55456b9926d602 /fs/cifs/inode.c
parentd03382ce9a89dbe27cba25130f0b90c0d631d5c5 (diff)
cifs: define inode-level cache object and register them
Define inode-level data storage objects (managed by cifsInodeInfo structs). Each inode-level object is created in a super-block level object and is itself a data storage object in to which pages from the inode are stored. The inode object is keyed by UniqueId. The coherency data being used is LastWriteTime, LastChangeTime and end of file reported by the server. Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de> Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r--fs/cifs/inode.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index f884cb51622a..5a68b92a0f9a 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -29,6 +29,7 @@
29#include "cifsproto.h" 29#include "cifsproto.h"
30#include "cifs_debug.h" 30#include "cifs_debug.h"
31#include "cifs_fs_sb.h" 31#include "cifs_fs_sb.h"
32#include "fscache.h"
32 33
33 34
34static void cifs_set_ops(struct inode *inode, const bool is_dfs_referral) 35static void cifs_set_ops(struct inode *inode, const bool is_dfs_referral)
@@ -776,6 +777,8 @@ retry_iget5_locked:
776 inode->i_flags |= S_NOATIME | S_NOCMTIME; 777 inode->i_flags |= S_NOATIME | S_NOCMTIME;
777 if (inode->i_state & I_NEW) { 778 if (inode->i_state & I_NEW) {
778 inode->i_ino = hash; 779 inode->i_ino = hash;
780 /* initialize per-inode cache cookie pointer */
781 CIFS_I(inode)->fscache = NULL;
779 unlock_new_inode(inode); 782 unlock_new_inode(inode);
780 } 783 }
781 } 784 }
@@ -1571,6 +1574,7 @@ cifs_invalidate_mapping(struct inode *inode)
1571 cifs_i->write_behind_rc = rc; 1574 cifs_i->write_behind_rc = rc;
1572 } 1575 }
1573 invalidate_remote_inode(inode); 1576 invalidate_remote_inode(inode);
1577 cifs_fscache_reset_inode_cookie(inode);
1574} 1578}
1575 1579
1576int cifs_revalidate_file(struct file *filp) 1580int cifs_revalidate_file(struct file *filp)