aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/ocfs2.h
diff options
context:
space:
mode:
authorJoel Becker <joel.becker@oracle.com>2009-02-12 19:41:25 -0500
committerJoel Becker <joel.becker@oracle.com>2009-09-04 19:07:50 -0400
commit0cf2f7632b1789b811ab20b611c4156e6de2b055 (patch)
tree34f7cf3584e4fa2bc187d4b75ce052cb98739b0e /fs/ocfs2/ocfs2.h
parent292dd27ec76b96cebcef576f330ab121f59ccf05 (diff)
ocfs2: Pass struct ocfs2_caching_info to the journal functions.
The next step in divorcing metadata I/O management from struct inode is to pass struct ocfs2_caching_info to the journal functions. Thus the journal locks a metadata cache with the cache io_lock function. It also can compare ci_last_trans and ci_created_trans directly. This is a large patch because of all the places we change ocfs2_journal_access..(handle, inode, ...) to ocfs2_journal_access..(handle, INODE_CACHE(inode), ...). Signed-off-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/ocfs2/ocfs2.h')
-rw-r--r--fs/ocfs2/ocfs2.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h
index 18b5fea98c91..d370262b3621 100644
--- a/fs/ocfs2/ocfs2.h
+++ b/fs/ocfs2/ocfs2.h
@@ -91,6 +91,11 @@ struct ocfs2_caching_info {
91 struct rb_root ci_tree; 91 struct rb_root ci_tree;
92 } ci_cache; 92 } ci_cache;
93}; 93};
94/*
95 * Need this prototype here instead of in uptodate.h because journal.h
96 * uses it.
97 */
98struct super_block *ocfs2_metadata_cache_get_super(struct ocfs2_caching_info *ci);
94 99
95/* this limits us to 256 nodes 100/* this limits us to 256 nodes
96 * if we need more, we can do a kmalloc for the map */ 101 * if we need more, we can do a kmalloc for the map */
@@ -408,7 +413,8 @@ struct ocfs2_super
408#define OCFS2_SB(sb) ((struct ocfs2_super *)(sb)->s_fs_info) 413#define OCFS2_SB(sb) ((struct ocfs2_super *)(sb)->s_fs_info)
409 414
410/* Useful typedef for passing around journal access functions */ 415/* Useful typedef for passing around journal access functions */
411typedef int (*ocfs2_journal_access_func)(handle_t *handle, struct inode *inode, 416typedef int (*ocfs2_journal_access_func)(handle_t *handle,
417 struct ocfs2_caching_info *ci,
412 struct buffer_head *bh, int type); 418 struct buffer_head *bh, int type);
413 419
414static inline int ocfs2_should_order_data(struct inode *inode) 420static inline int ocfs2_should_order_data(struct inode *inode)