aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/fscache.h
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/fscache.h
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/fscache.h')
-rw-r--r--fs/cifs/fscache.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/cifs/fscache.h b/fs/cifs/fscache.h
index d2ba628b72cd..1008f4050835 100644
--- a/fs/cifs/fscache.h
+++ b/fs/cifs/fscache.h
@@ -30,6 +30,8 @@
30extern struct fscache_netfs cifs_fscache_netfs; 30extern struct fscache_netfs cifs_fscache_netfs;
31extern const struct fscache_cookie_def cifs_fscache_server_index_def; 31extern const struct fscache_cookie_def cifs_fscache_server_index_def;
32extern const struct fscache_cookie_def cifs_fscache_super_index_def; 32extern const struct fscache_cookie_def cifs_fscache_super_index_def;
33extern const struct fscache_cookie_def cifs_fscache_inode_object_def;
34
33 35
34extern int cifs_fscache_register(void); 36extern int cifs_fscache_register(void);
35extern void cifs_fscache_unregister(void); 37extern void cifs_fscache_unregister(void);
@@ -42,6 +44,10 @@ extern void cifs_fscache_release_client_cookie(struct TCP_Server_Info *);
42extern void cifs_fscache_get_super_cookie(struct cifsTconInfo *); 44extern void cifs_fscache_get_super_cookie(struct cifsTconInfo *);
43extern void cifs_fscache_release_super_cookie(struct cifsTconInfo *); 45extern void cifs_fscache_release_super_cookie(struct cifsTconInfo *);
44 46
47extern void cifs_fscache_release_inode_cookie(struct inode *);
48extern void cifs_fscache_set_inode_cookie(struct inode *, struct file *);
49extern void cifs_fscache_reset_inode_cookie(struct inode *);
50
45#else /* CONFIG_CIFS_FSCACHE */ 51#else /* CONFIG_CIFS_FSCACHE */
46static inline int cifs_fscache_register(void) { return 0; } 52static inline int cifs_fscache_register(void) { return 0; }
47static inline void cifs_fscache_unregister(void) {} 53static inline void cifs_fscache_unregister(void) {}
@@ -54,6 +60,12 @@ static inline void cifs_fscache_get_super_cookie(struct cifsTconInfo *tcon) {}
54static inline void 60static inline void
55cifs_fscache_release_super_cookie(struct cifsTconInfo *tcon) {} 61cifs_fscache_release_super_cookie(struct cifsTconInfo *tcon) {}
56 62
63static inline void cifs_fscache_release_inode_cookie(struct inode *inode) {}
64static inline void cifs_fscache_set_inode_cookie(struct inode *inode,
65 struct file *filp) {}
66static inline void cifs_fscache_reset_inode_cookie(struct inode *inode) {}
67
68
57#endif /* CONFIG_CIFS_FSCACHE */ 69#endif /* CONFIG_CIFS_FSCACHE */
58 70
59#endif /* _CIFS_FSCACHE_H */ 71#endif /* _CIFS_FSCACHE_H */