summaryrefslogtreecommitdiffstats
path: root/fs/9p/v9fs_vfs.h
diff options
context:
space:
mode:
authorAbhishek Kulkarni <adkulkar@umail.iu.edu>2009-09-23 13:00:27 -0500
committerEric Van Hensbergen <ericvh@strongmad.austin.ibm.com>2009-09-23 13:03:46 -0500
commit60e78d2c993e58d890596d951fff77d5965adcd6 (patch)
tree3d53ed7254c613ef8d8de36fdceda25bc493f4f7 /fs/9p/v9fs_vfs.h
parent637d020a02cd734bf27acfc56c6d942cddd9eb80 (diff)
downloadlinux-60e78d2c993e58d890596d951fff77d5965adcd6.tar.gz
linux-60e78d2c993e58d890596d951fff77d5965adcd6.tar.bz2
linux-60e78d2c993e58d890596d951fff77d5965adcd6.zip
9p: Add fscache support to 9p
This patch adds a persistent, read-only caching facility for 9p clients using the FS-Cache caching backend. When the fscache facility is enabled, each inode is associated with a corresponding vcookie which is an index into the FS-Cache indexing tree. The FS-Cache indexing tree is indexed at 3 levels: - session object associated with each mount. - inode/vcookie - actual data (pages) A cache tag is chosen randomly for each session. These tags can be read off /sys/fs/9p/caches and can be passed as a mount-time parameter to re-attach to the specified caching session. Signed-off-by: Abhishek Kulkarni <adkulkar@umail.iu.edu> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'fs/9p/v9fs_vfs.h')
-rw-r--r--fs/9p/v9fs_vfs.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/9p/v9fs_vfs.h b/fs/9p/v9fs_vfs.h
index f0c7de78e205..3a7560e35865 100644
--- a/fs/9p/v9fs_vfs.h
+++ b/fs/9p/v9fs_vfs.h
@@ -44,7 +44,13 @@ extern const struct file_operations v9fs_dir_operations;
extern const struct dentry_operations v9fs_dentry_operations;
extern const struct dentry_operations v9fs_cached_dentry_operations;
+#ifdef CONFIG_9P_FSCACHE
+struct inode *v9fs_alloc_inode(struct super_block *sb);
+void v9fs_destroy_inode(struct inode *inode);
+#endif
+
struct inode *v9fs_get_inode(struct super_block *sb, int mode);
+void v9fs_clear_inode(struct inode *inode);
ino_t v9fs_qid2ino(struct p9_qid *qid);
void v9fs_stat2inode(struct p9_wstat *, struct inode *, struct super_block *);
int v9fs_dir_release(struct inode *inode, struct file *filp);