aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2007-04-27 11:42:05 -0400
committerDavid Woodhouse <dwmw2@hera.kernel.org>2007-04-27 11:42:05 -0400
commit28b8bb9e001aa1c4abdd10a8e36972658237fe43 (patch)
treeff22f2c2d9daa6abd6f9d8d95615d061f1827b87
parentcd1bc4653dc37f6390f4d6df4f987044c64f700b (diff)
Btrfs: allocator tweaks
Signed-off-by: Chris Mason <chris.mason@oracle.com>
-rw-r--r--fs/btrfs/disk-io.c3
-rw-r--r--fs/btrfs/extent-tree.c7
2 files changed, 5 insertions, 5 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 2489ffa5fb3..e1b6e13a5ae 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -94,9 +94,6 @@ struct buffer_head *btrfs_find_tree_block(struct btrfs_root *root, u64 blocknr)
} while (bh != head);
out_unlock:
unlock_page(page);
- if (ret) {
- touch_buffer(ret);
- }
page_cache_release(page);
return ret;
}
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 71e3b311fc4..aca5802a8a1 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -311,7 +311,10 @@ int btrfs_finish_extent_commit(struct btrfs_trans_handle *trans, struct
clear_radix_bit(pinned_radix, gang[i]);
}
}
- root->fs_info->block_group_cache = NULL;
+ if (root->fs_info->block_group_cache) {
+ root->fs_info->block_group_cache->last_alloc =
+ root->fs_info->block_group_cache->first_free;
+ }
return 0;
}
@@ -578,7 +581,7 @@ check_failed:
if (last_block < search_start)
last_block = search_start;
hole_size = key.objectid - last_block;
- if (hole_size > num_blocks) {
+ if (hole_size >= num_blocks) {
ins->objectid = last_block;
ins->offset = hole_size;
goto check_pending;