diff options
author | Mark Fasheh <mfasheh@suse.com> | 2008-11-24 20:02:08 -0500 |
---|---|---|
committer | Mark Fasheh <mfasheh@suse.com> | 2009-04-03 14:39:16 -0400 |
commit | 4ed8a6bb083bfcc21f1ed66a474b03c0386e4b34 (patch) | |
tree | 89cc2629bed3949e980edcae3d807e71718a9028 /fs/ocfs2/journal.h | |
parent | 9b7895efac906d66d19856194e1ba61f37e231a4 (diff) |
ocfs2: Store dir index records inline
Allow us to store a small number of directory index records in the
ocfs2_dx_root_block. This saves us a disk read on small to medium sized
directories (less than about 250 entries). The inline root is automatically
turned into a root block with extents if the directory size increases beyond
it's capacity.
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Acked-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/ocfs2/journal.h')
-rw-r--r-- | fs/ocfs2/journal.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/ocfs2/journal.h b/fs/ocfs2/journal.h index 4939c04290ca..5585dde91344 100644 --- a/fs/ocfs2/journal.h +++ b/fs/ocfs2/journal.h | |||
@@ -458,6 +458,16 @@ static inline int ocfs2_rename_credits(struct super_block *sb) | |||
458 | #define OCFS2_DX_ROOT_REMOVE_CREDITS (OCFS2_INODE_UPDATE_CREDITS + \ | 458 | #define OCFS2_DX_ROOT_REMOVE_CREDITS (OCFS2_INODE_UPDATE_CREDITS + \ |
459 | OCFS2_SUBALLOC_FREE) | 459 | OCFS2_SUBALLOC_FREE) |
460 | 460 | ||
461 | static inline int ocfs2_calc_dxi_expand_credits(struct super_block *sb) | ||
462 | { | ||
463 | int credits = 1 + OCFS2_SUBALLOC_ALLOC; | ||
464 | |||
465 | credits += ocfs2_clusters_to_blocks(sb, 1); | ||
466 | credits += ocfs2_quota_trans_credits(sb); | ||
467 | |||
468 | return credits; | ||
469 | } | ||
470 | |||
461 | /* | 471 | /* |
462 | * Please note that the caller must make sure that root_el is the root | 472 | * Please note that the caller must make sure that root_el is the root |
463 | * of extent tree. So for an inode, it should be &fe->id2.i_list. Otherwise | 473 | * of extent tree. So for an inode, it should be &fe->id2.i_list. Otherwise |