ocfs2: Optionally limit extent size in ocfs2_insert_extent()

In xattr bucket, we want to limit the maximum size of a btree leaf,
otherwise we'll lose the benefits of hashing because we'll have to search
large leaves.

So add a new field in ocfs2_extent_tree which indicates the maximum leaf cluster
size we want so that we can prevent ocfs2_insert_extent() from merging the leaf
record even if it is contiguous with an adjacent record.

Other btree types are not affected by this change.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
This commit is contained in:
Tao Ma
2008-08-18 17:38:52 +08:00
committed by Mark Fasheh
parent 589dc2602f
commit ca12b7c489
2 changed files with 35 additions and 9 deletions

View File

@@ -32,6 +32,11 @@ enum ocfs2_extent_tree_type {
OCFS2_XATTR_TREE_EXTENT,
};
/*
* For xattr tree leaf, we limit the leaf byte size to be 64K.
*/
#define OCFS2_MAX_XATTR_TREE_LEAF_SIZE 65536
struct ocfs2_alloc_context;
int ocfs2_dinode_insert_extent(struct ocfs2_super *osb,
handle_t *handle,