diff options
author | Chris Mason <chris.mason@oracle.com> | 2007-10-15 16:22:39 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:03:57 -0400 |
commit | a6b6e75e096f436f0cc56edf5bca96301e194491 (patch) | |
tree | 03751594c29a7d70d317689fd6b5e44ee023633e /fs/btrfs/ctree.h | |
parent | ff79f8190b6e955ff7a71faf804a3017d526e657 (diff) |
Btrfs: Defrag only leaves, and only when the parent node has a single objectid
This allows us to defrag huge directories, but skip the expensive defrag
case in more common usage, where it does not help as much.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 1af0a966f85b..37bccb1a9a75 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -913,7 +913,8 @@ int btrfs_search_slot(struct btrfs_trans_handle *trans, struct btrfs_root | |||
913 | ins_len, int cow); | 913 | ins_len, int cow); |
914 | int btrfs_realloc_node(struct btrfs_trans_handle *trans, | 914 | int btrfs_realloc_node(struct btrfs_trans_handle *trans, |
915 | struct btrfs_root *root, struct extent_buffer *parent, | 915 | struct btrfs_root *root, struct extent_buffer *parent, |
916 | int cache_only, u64 *last_ret); | 916 | int start_slot, int cache_only, u64 *last_ret, |
917 | struct btrfs_key *progress); | ||
917 | void btrfs_release_path(struct btrfs_root *root, struct btrfs_path *p); | 918 | void btrfs_release_path(struct btrfs_root *root, struct btrfs_path *p); |
918 | struct btrfs_path *btrfs_alloc_path(void); | 919 | struct btrfs_path *btrfs_alloc_path(void); |
919 | void btrfs_free_path(struct btrfs_path *p); | 920 | void btrfs_free_path(struct btrfs_path *p); |