aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/ocfs2.h
diff options
context:
space:
mode:
authorMark Fasheh <mfasheh@suse.com>2008-07-28 17:55:20 -0400
committerMark Fasheh <mfasheh@suse.com>2008-10-13 16:57:57 -0400
commitebcee4b5c9136096f64ee6f691a013d7c0a4bc34 (patch)
treecb28c9135559a8f5aaf4c61b9d39f9c4ce733b55 /fs/ocfs2/ocfs2.h
parent53da4939f349d4edd283b043219221ca5b78e4d4 (diff)
ocfs2: Track local alloc bits internally
Do this instead of tracking absolute local alloc size. This avoids needless re-calculatiion of bits from bytes in localalloc.c. Additionally, the value is now in a more natural unit for internal file system bitmap work. Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2/ocfs2.h')
-rw-r--r--fs/ocfs2/ocfs2.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h
index 7f625f2b111..43dd42e313a 100644
--- a/fs/ocfs2/ocfs2.h
+++ b/fs/ocfs2/ocfs2.h
@@ -252,7 +252,7 @@ struct ocfs2_super
252 struct ocfs2_journal *journal; 252 struct ocfs2_journal *journal;
253 unsigned long osb_commit_interval; 253 unsigned long osb_commit_interval;
254 254
255 int local_alloc_size; 255 unsigned int local_alloc_bits;
256 enum ocfs2_local_alloc_state local_alloc_state; 256 enum ocfs2_local_alloc_state local_alloc_state;
257 struct buffer_head *local_alloc_bh; 257 struct buffer_head *local_alloc_bh;
258 u64 la_last_gd; 258 u64 la_last_gd;
@@ -554,6 +554,14 @@ static inline unsigned int ocfs2_pages_per_cluster(struct super_block *sb)
554 return pages_per_cluster; 554 return pages_per_cluster;
555} 555}
556 556
557static inline unsigned int ocfs2_megabytes_to_clusters(struct super_block *sb,
558 unsigned int megs)
559{
560 BUILD_BUG_ON(OCFS2_MAX_CLUSTERSIZE > 1048576);
561
562 return megs << (20 - OCFS2_SB(sb)->s_clustersize_bits);
563}
564
557static inline void ocfs2_init_inode_steal_slot(struct ocfs2_super *osb) 565static inline void ocfs2_init_inode_steal_slot(struct ocfs2_super *osb)
558{ 566{
559 spin_lock(&osb->osb_lock); 567 spin_lock(&osb->osb_lock);