|
@@ -37,8 +37,8 @@ static int balance_node_right(struct btrfs_trans_handle *trans,
|
|
|
struct btrfs_root *root,
|
|
|
struct extent_buffer *dst_buf,
|
|
|
struct extent_buffer *src_buf);
|
|
|
-static void del_ptr(struct btrfs_trans_handle *trans, struct btrfs_root *root,
|
|
|
- struct btrfs_path *path, int level, int slot);
|
|
|
+static void del_ptr(struct btrfs_root *root, struct btrfs_path *path,
|
|
|
+ int level, int slot);
|
|
|
static void tree_mod_log_free_eb(struct btrfs_fs_info *fs_info,
|
|
|
struct extent_buffer *eb);
|
|
|
struct extent_buffer *read_old_tree_block(struct btrfs_root *root, u64 bytenr,
|
|
@@ -1830,7 +1830,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
|
|
|
if (btrfs_header_nritems(right) == 0) {
|
|
|
clean_tree_block(trans, root, right);
|
|
|
btrfs_tree_unlock(right);
|
|
|
- del_ptr(trans, root, path, level + 1, pslot + 1);
|
|
|
+ del_ptr(root, path, level + 1, pslot + 1);
|
|
|
root_sub_used(root, right->len);
|
|
|
btrfs_free_tree_block(trans, root, right, 0, 1);
|
|
|
free_extent_buffer_stale(right);
|
|
@@ -1874,7 +1874,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
|
|
|
if (btrfs_header_nritems(mid) == 0) {
|
|
|
clean_tree_block(trans, root, mid);
|
|
|
btrfs_tree_unlock(mid);
|
|
|
- del_ptr(trans, root, path, level + 1, pslot);
|
|
|
+ del_ptr(root, path, level + 1, pslot);
|
|
|
root_sub_used(root, mid->len);
|
|
|
btrfs_free_tree_block(trans, root, mid, 0, 1);
|
|
|
free_extent_buffer_stale(mid);
|
|
@@ -2930,8 +2930,7 @@ static void fixup_low_keys(struct btrfs_root *root, struct btrfs_path *path,
|
|
|
* This function isn't completely safe. It's the caller's responsibility
|
|
|
* that the new key won't break the order
|
|
|
*/
|
|
|
-void btrfs_set_item_key_safe(struct btrfs_trans_handle *trans,
|
|
|
- struct btrfs_root *root, struct btrfs_path *path,
|
|
|
+void btrfs_set_item_key_safe(struct btrfs_root *root, struct btrfs_path *path,
|
|
|
struct btrfs_key *new_key)
|
|
|
{
|
|
|
struct btrfs_disk_key disk_key;
|
|
@@ -4267,7 +4266,7 @@ int btrfs_duplicate_item(struct btrfs_trans_handle *trans,
|
|
|
return ret;
|
|
|
|
|
|
path->slots[0]++;
|
|
|
- setup_items_for_insert(trans, root, path, new_key, &item_size,
|
|
|
+ setup_items_for_insert(root, path, new_key, &item_size,
|
|
|
item_size, item_size +
|
|
|
sizeof(struct btrfs_item), 1);
|
|
|
leaf = path->nodes[0];
|
|
@@ -4284,9 +4283,7 @@ int btrfs_duplicate_item(struct btrfs_trans_handle *trans,
|
|
|
* off the end of the item or if we shift the item to chop bytes off
|
|
|
* the front.
|
|
|
*/
|
|
|
-void btrfs_truncate_item(struct btrfs_trans_handle *trans,
|
|
|
- struct btrfs_root *root,
|
|
|
- struct btrfs_path *path,
|
|
|
+void btrfs_truncate_item(struct btrfs_root *root, struct btrfs_path *path,
|
|
|
u32 new_size, int from_end)
|
|
|
{
|
|
|
int slot;
|
|
@@ -4457,8 +4454,7 @@ void btrfs_extend_item(struct btrfs_trans_handle *trans,
|
|
|
* to save stack depth by doing the bulk of the work in a function
|
|
|
* that doesn't call btrfs_search_slot
|
|
|
*/
|
|
|
-void setup_items_for_insert(struct btrfs_trans_handle *trans,
|
|
|
- struct btrfs_root *root, struct btrfs_path *path,
|
|
|
+void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *path,
|
|
|
struct btrfs_key *cpu_key, u32 *data_size,
|
|
|
u32 total_data, u32 total_size, int nr)
|
|
|
{
|
|
@@ -4574,7 +4570,7 @@ int btrfs_insert_empty_items(struct btrfs_trans_handle *trans,
|
|
|
slot = path->slots[0];
|
|
|
BUG_ON(slot < 0);
|
|
|
|
|
|
- setup_items_for_insert(trans, root, path, cpu_key, data_size,
|
|
|
+ setup_items_for_insert(root, path, cpu_key, data_size,
|
|
|
total_data, total_size, nr);
|
|
|
return 0;
|
|
|
}
|
|
@@ -4612,8 +4608,8 @@ int btrfs_insert_item(struct btrfs_trans_handle *trans, struct btrfs_root
|
|
|
* the tree should have been previously balanced so the deletion does not
|
|
|
* empty a node.
|
|
|
*/
|
|
|
-static void del_ptr(struct btrfs_trans_handle *trans, struct btrfs_root *root,
|
|
|
- struct btrfs_path *path, int level, int slot)
|
|
|
+static void del_ptr(struct btrfs_root *root, struct btrfs_path *path,
|
|
|
+ int level, int slot)
|
|
|
{
|
|
|
struct extent_buffer *parent = path->nodes[level];
|
|
|
u32 nritems;
|
|
@@ -4666,7 +4662,7 @@ static noinline void btrfs_del_leaf(struct btrfs_trans_handle *trans,
|
|
|
struct extent_buffer *leaf)
|
|
|
{
|
|
|
WARN_ON(btrfs_header_generation(leaf) != trans->transid);
|
|
|
- del_ptr(trans, root, path, 1, path->slots[1]);
|
|
|
+ del_ptr(root, path, 1, path->slots[1]);
|
|
|
|
|
|
/*
|
|
|
* btrfs_free_extent is expensive, we want to make sure we
|