diff options
author | Yan Zheng <zheng.yan@oracle.com> | 2008-12-17 10:21:48 -0500 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-12-17 10:21:48 -0500 |
commit | 87b29b208c6c38f3446d2de6ece946e2459052cf (patch) | |
tree | 43e717289e1e8446fced4093ab39667bba9ea60a /fs/btrfs/tree-log.c | |
parent | d7f735d0bc68c411abda0a612e1421bdade649cc (diff) |
Btrfs: properly check free space for tree balancing
btrfs_insert_empty_items takes the space needed by the btrfs_item
structure into account when calculating the required free space.
So the tree balancing code shouldn't add sizeof(struct btrfs_item)
to the size when checking the free space. This patch removes these
superfluous additions.
Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
Diffstat (limited to 'fs/btrfs/tree-log.c')
-rw-r--r-- | fs/btrfs/tree-log.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 6ac1b7f72e2a..33eee256ee81 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c | |||
@@ -374,13 +374,8 @@ insert: | |||
374 | if (found_size > item_size) { | 374 | if (found_size > item_size) { |
375 | btrfs_truncate_item(trans, root, path, item_size, 1); | 375 | btrfs_truncate_item(trans, root, path, item_size, 1); |
376 | } else if (found_size < item_size) { | 376 | } else if (found_size < item_size) { |
377 | ret = btrfs_del_item(trans, root, | 377 | ret = btrfs_extend_item(trans, root, path, |
378 | path); | 378 | item_size - found_size); |
379 | BUG_ON(ret); | ||
380 | |||
381 | btrfs_release_path(root, path); | ||
382 | ret = btrfs_insert_empty_item(trans, | ||
383 | root, path, key, item_size); | ||
384 | BUG_ON(ret); | 379 | BUG_ON(ret); |
385 | } | 380 | } |
386 | } else if (ret) { | 381 | } else if (ret) { |