提交 afe5fea7 编写于 作者: T Tsutomu Itoh 提交者: Josef Bacik

Btrfs: cleanup of function where fixup_low_keys() is called

If argument 'trans' is unnecessary in the function where
fixup_low_keys() is called, 'trans' is deleted.
Signed-off-by: NTsutomu Itoh <t-itoh@jp.fujitsu.com>
Signed-off-by: NJosef Bacik <jbacik@fusionio.com>
上级 d6a0a126
...@@ -37,8 +37,8 @@ static int balance_node_right(struct btrfs_trans_handle *trans, ...@@ -37,8 +37,8 @@ static int balance_node_right(struct btrfs_trans_handle *trans,
struct btrfs_root *root, struct btrfs_root *root,
struct extent_buffer *dst_buf, struct extent_buffer *dst_buf,
struct extent_buffer *src_buf); struct extent_buffer *src_buf);
static void del_ptr(struct btrfs_trans_handle *trans, struct btrfs_root *root, static void del_ptr(struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_path *path, int level, int slot); int level, int slot);
static void tree_mod_log_free_eb(struct btrfs_fs_info *fs_info, static void tree_mod_log_free_eb(struct btrfs_fs_info *fs_info,
struct extent_buffer *eb); struct extent_buffer *eb);
struct extent_buffer *read_old_tree_block(struct btrfs_root *root, u64 bytenr, 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, ...@@ -1830,7 +1830,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
if (btrfs_header_nritems(right) == 0) { if (btrfs_header_nritems(right) == 0) {
clean_tree_block(trans, root, right); clean_tree_block(trans, root, right);
btrfs_tree_unlock(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); root_sub_used(root, right->len);
btrfs_free_tree_block(trans, root, right, 0, 1); btrfs_free_tree_block(trans, root, right, 0, 1);
free_extent_buffer_stale(right); free_extent_buffer_stale(right);
...@@ -1874,7 +1874,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans, ...@@ -1874,7 +1874,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
if (btrfs_header_nritems(mid) == 0) { if (btrfs_header_nritems(mid) == 0) {
clean_tree_block(trans, root, mid); clean_tree_block(trans, root, mid);
btrfs_tree_unlock(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); root_sub_used(root, mid->len);
btrfs_free_tree_block(trans, root, mid, 0, 1); btrfs_free_tree_block(trans, root, mid, 0, 1);
free_extent_buffer_stale(mid); free_extent_buffer_stale(mid);
...@@ -2930,8 +2930,7 @@ static void fixup_low_keys(struct btrfs_root *root, struct btrfs_path *path, ...@@ -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 * This function isn't completely safe. It's the caller's responsibility
* that the new key won't break the order * that the new key won't break the order
*/ */
void btrfs_set_item_key_safe(struct btrfs_trans_handle *trans, void btrfs_set_item_key_safe(struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_key *new_key) struct btrfs_key *new_key)
{ {
struct btrfs_disk_key disk_key; struct btrfs_disk_key disk_key;
...@@ -4267,7 +4266,7 @@ int btrfs_duplicate_item(struct btrfs_trans_handle *trans, ...@@ -4267,7 +4266,7 @@ int btrfs_duplicate_item(struct btrfs_trans_handle *trans,
return ret; return ret;
path->slots[0]++; 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 + item_size, item_size +
sizeof(struct btrfs_item), 1); sizeof(struct btrfs_item), 1);
leaf = path->nodes[0]; leaf = path->nodes[0];
...@@ -4284,9 +4283,7 @@ int btrfs_duplicate_item(struct btrfs_trans_handle *trans, ...@@ -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 * off the end of the item or if we shift the item to chop bytes off
* the front. * the front.
*/ */
void btrfs_truncate_item(struct btrfs_trans_handle *trans, void btrfs_truncate_item(struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_root *root,
struct btrfs_path *path,
u32 new_size, int from_end) u32 new_size, int from_end)
{ {
int slot; int slot;
...@@ -4457,8 +4454,7 @@ void btrfs_extend_item(struct btrfs_trans_handle *trans, ...@@ -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 * to save stack depth by doing the bulk of the work in a function
* that doesn't call btrfs_search_slot * that doesn't call btrfs_search_slot
*/ */
void setup_items_for_insert(struct btrfs_trans_handle *trans, void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_key *cpu_key, u32 *data_size, struct btrfs_key *cpu_key, u32 *data_size,
u32 total_data, u32 total_size, int nr) u32 total_data, u32 total_size, int nr)
{ {
...@@ -4574,7 +4570,7 @@ int btrfs_insert_empty_items(struct btrfs_trans_handle *trans, ...@@ -4574,7 +4570,7 @@ int btrfs_insert_empty_items(struct btrfs_trans_handle *trans,
slot = path->slots[0]; slot = path->slots[0];
BUG_ON(slot < 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); total_data, total_size, nr);
return 0; return 0;
} }
...@@ -4612,8 +4608,8 @@ int btrfs_insert_item(struct btrfs_trans_handle *trans, struct btrfs_root ...@@ -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 * the tree should have been previously balanced so the deletion does not
* empty a node. * empty a node.
*/ */
static void del_ptr(struct btrfs_trans_handle *trans, struct btrfs_root *root, static void del_ptr(struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_path *path, int level, int slot) int level, int slot)
{ {
struct extent_buffer *parent = path->nodes[level]; struct extent_buffer *parent = path->nodes[level];
u32 nritems; u32 nritems;
...@@ -4666,7 +4662,7 @@ static noinline void btrfs_del_leaf(struct btrfs_trans_handle *trans, ...@@ -4666,7 +4662,7 @@ static noinline void btrfs_del_leaf(struct btrfs_trans_handle *trans,
struct extent_buffer *leaf) struct extent_buffer *leaf)
{ {
WARN_ON(btrfs_header_generation(leaf) != trans->transid); 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 * btrfs_free_extent is expensive, we want to make sure we
......
...@@ -3183,8 +3183,7 @@ int btrfs_comp_cpu_keys(struct btrfs_key *k1, struct btrfs_key *k2); ...@@ -3183,8 +3183,7 @@ int btrfs_comp_cpu_keys(struct btrfs_key *k1, struct btrfs_key *k2);
int btrfs_previous_item(struct btrfs_root *root, int btrfs_previous_item(struct btrfs_root *root,
struct btrfs_path *path, u64 min_objectid, struct btrfs_path *path, u64 min_objectid,
int type); int type);
void btrfs_set_item_key_safe(struct btrfs_trans_handle *trans, void btrfs_set_item_key_safe(struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_key *new_key); struct btrfs_key *new_key);
struct extent_buffer *btrfs_root_node(struct btrfs_root *root); struct extent_buffer *btrfs_root_node(struct btrfs_root *root);
struct extent_buffer *btrfs_lock_root_node(struct btrfs_root *root); struct extent_buffer *btrfs_lock_root_node(struct btrfs_root *root);
...@@ -3223,9 +3222,7 @@ int btrfs_block_can_be_shared(struct btrfs_root *root, ...@@ -3223,9 +3222,7 @@ int btrfs_block_can_be_shared(struct btrfs_root *root,
void btrfs_extend_item(struct btrfs_trans_handle *trans, void btrfs_extend_item(struct btrfs_trans_handle *trans,
struct btrfs_root *root, struct btrfs_path *path, struct btrfs_root *root, struct btrfs_path *path,
u32 data_size); u32 data_size);
void btrfs_truncate_item(struct btrfs_trans_handle *trans, void btrfs_truncate_item(struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_root *root,
struct btrfs_path *path,
u32 new_size, int from_end); u32 new_size, int from_end);
int btrfs_split_item(struct btrfs_trans_handle *trans, int btrfs_split_item(struct btrfs_trans_handle *trans,
struct btrfs_root *root, struct btrfs_root *root,
...@@ -3265,8 +3262,7 @@ static inline int btrfs_del_item(struct btrfs_trans_handle *trans, ...@@ -3265,8 +3262,7 @@ static inline int btrfs_del_item(struct btrfs_trans_handle *trans,
return btrfs_del_items(trans, root, path, path->slots[0], 1); return btrfs_del_items(trans, root, path, path->slots[0], 1);
} }
void setup_items_for_insert(struct btrfs_trans_handle *trans, void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_key *cpu_key, u32 *data_size, struct btrfs_key *cpu_key, u32 *data_size,
u32 total_data, u32 total_size, int nr); u32 total_data, u32 total_size, int nr);
int btrfs_insert_item(struct btrfs_trans_handle *trans, struct btrfs_root int btrfs_insert_item(struct btrfs_trans_handle *trans, struct btrfs_root
......
...@@ -766,10 +766,9 @@ static void btrfs_delayed_inode_release_metadata(struct btrfs_root *root, ...@@ -766,10 +766,9 @@ static void btrfs_delayed_inode_release_metadata(struct btrfs_root *root,
* This helper will insert some continuous items into the same leaf according * This helper will insert some continuous items into the same leaf according
* to the free space of the leaf. * to the free space of the leaf.
*/ */
static int btrfs_batch_insert_items(struct btrfs_trans_handle *trans, static int btrfs_batch_insert_items(struct btrfs_root *root,
struct btrfs_root *root, struct btrfs_path *path,
struct btrfs_path *path, struct btrfs_delayed_item *item)
struct btrfs_delayed_item *item)
{ {
struct btrfs_delayed_item *curr, *next; struct btrfs_delayed_item *curr, *next;
int free_space; int free_space;
...@@ -848,7 +847,7 @@ static int btrfs_batch_insert_items(struct btrfs_trans_handle *trans, ...@@ -848,7 +847,7 @@ static int btrfs_batch_insert_items(struct btrfs_trans_handle *trans,
btrfs_clear_path_blocking(path, NULL, 0); btrfs_clear_path_blocking(path, NULL, 0);
/* insert the keys of the items */ /* insert the keys of the items */
setup_items_for_insert(trans, root, path, keys, data_size, setup_items_for_insert(root, path, keys, data_size,
total_data_size, total_size, nitems); total_data_size, total_size, nitems);
/* insert the dir index items */ /* insert the dir index items */
...@@ -932,7 +931,7 @@ static int btrfs_insert_delayed_items(struct btrfs_trans_handle *trans, ...@@ -932,7 +931,7 @@ static int btrfs_insert_delayed_items(struct btrfs_trans_handle *trans,
if (curr && btrfs_is_continuous_delayed_item(prev, curr)) { if (curr && btrfs_is_continuous_delayed_item(prev, curr)) {
/* insert the continuous items into the same leaf */ /* insert the continuous items into the same leaf */
path->slots[0]++; path->slots[0]++;
btrfs_batch_insert_items(trans, root, path, curr); btrfs_batch_insert_items(root, path, curr);
} }
btrfs_release_delayed_item(prev); btrfs_release_delayed_item(prev);
btrfs_mark_buffer_dirty(path->nodes[0]); btrfs_mark_buffer_dirty(path->nodes[0]);
......
...@@ -442,8 +442,7 @@ int btrfs_delete_one_dir_name(struct btrfs_trans_handle *trans, ...@@ -442,8 +442,7 @@ int btrfs_delete_one_dir_name(struct btrfs_trans_handle *trans,
start = btrfs_item_ptr_offset(leaf, path->slots[0]); start = btrfs_item_ptr_offset(leaf, path->slots[0]);
memmove_extent_buffer(leaf, ptr, ptr + sub_item_len, memmove_extent_buffer(leaf, ptr, ptr + sub_item_len,
item_len - (ptr + sub_item_len - start)); item_len - (ptr + sub_item_len - start));
btrfs_truncate_item(trans, root, path, btrfs_truncate_item(root, path, item_len - sub_item_len, 1);
item_len - sub_item_len, 1);
} }
return ret; return ret;
} }
......
...@@ -1752,8 +1752,7 @@ static int lookup_extent_backref(struct btrfs_trans_handle *trans, ...@@ -1752,8 +1752,7 @@ static int lookup_extent_backref(struct btrfs_trans_handle *trans,
* helper to update/remove inline back ref * helper to update/remove inline back ref
*/ */
static noinline_for_stack static noinline_for_stack
void update_inline_extent_backref(struct btrfs_trans_handle *trans, void update_inline_extent_backref(struct btrfs_root *root,
struct btrfs_root *root,
struct btrfs_path *path, struct btrfs_path *path,
struct btrfs_extent_inline_ref *iref, struct btrfs_extent_inline_ref *iref,
int refs_to_mod, int refs_to_mod,
...@@ -1809,7 +1808,7 @@ void update_inline_extent_backref(struct btrfs_trans_handle *trans, ...@@ -1809,7 +1808,7 @@ void update_inline_extent_backref(struct btrfs_trans_handle *trans,
memmove_extent_buffer(leaf, ptr, ptr + size, memmove_extent_buffer(leaf, ptr, ptr + size,
end - ptr - size); end - ptr - size);
item_size -= size; item_size -= size;
btrfs_truncate_item(trans, root, path, item_size, 1); btrfs_truncate_item(root, path, item_size, 1);
} }
btrfs_mark_buffer_dirty(leaf); btrfs_mark_buffer_dirty(leaf);
} }
...@@ -1831,7 +1830,7 @@ int insert_inline_extent_backref(struct btrfs_trans_handle *trans, ...@@ -1831,7 +1830,7 @@ int insert_inline_extent_backref(struct btrfs_trans_handle *trans,
root_objectid, owner, offset, 1); root_objectid, owner, offset, 1);
if (ret == 0) { if (ret == 0) {
BUG_ON(owner < BTRFS_FIRST_FREE_OBJECTID); BUG_ON(owner < BTRFS_FIRST_FREE_OBJECTID);
update_inline_extent_backref(trans, root, path, iref, update_inline_extent_backref(root, path, iref,
refs_to_add, extent_op); refs_to_add, extent_op);
} else if (ret == -ENOENT) { } else if (ret == -ENOENT) {
setup_inline_extent_backref(trans, root, path, iref, parent, setup_inline_extent_backref(trans, root, path, iref, parent,
...@@ -1871,7 +1870,7 @@ static int remove_extent_backref(struct btrfs_trans_handle *trans, ...@@ -1871,7 +1870,7 @@ static int remove_extent_backref(struct btrfs_trans_handle *trans,
BUG_ON(!is_data && refs_to_drop != 1); BUG_ON(!is_data && refs_to_drop != 1);
if (iref) { if (iref) {
update_inline_extent_backref(trans, root, path, iref, update_inline_extent_backref(root, path, iref,
-refs_to_drop, NULL); -refs_to_drop, NULL);
} else if (is_data) { } else if (is_data) {
ret = remove_extent_data_ref(trans, root, path, refs_to_drop); ret = remove_extent_data_ref(trans, root, path, refs_to_drop);
......
...@@ -525,8 +525,7 @@ int btrfs_csum_one_bio(struct btrfs_root *root, struct inode *inode, ...@@ -525,8 +525,7 @@ int btrfs_csum_one_bio(struct btrfs_root *root, struct inode *inode,
* This calls btrfs_truncate_item with the correct args based on the * This calls btrfs_truncate_item with the correct args based on the
* overlap, and fixes up the key as required. * overlap, and fixes up the key as required.
*/ */
static noinline void truncate_one_csum(struct btrfs_trans_handle *trans, static noinline void truncate_one_csum(struct btrfs_root *root,
struct btrfs_root *root,
struct btrfs_path *path, struct btrfs_path *path,
struct btrfs_key *key, struct btrfs_key *key,
u64 bytenr, u64 len) u64 bytenr, u64 len)
...@@ -551,7 +550,7 @@ static noinline void truncate_one_csum(struct btrfs_trans_handle *trans, ...@@ -551,7 +550,7 @@ static noinline void truncate_one_csum(struct btrfs_trans_handle *trans,
*/ */
u32 new_size = (bytenr - key->offset) >> blocksize_bits; u32 new_size = (bytenr - key->offset) >> blocksize_bits;
new_size *= csum_size; new_size *= csum_size;
btrfs_truncate_item(trans, root, path, new_size, 1); btrfs_truncate_item(root, path, new_size, 1);
} else if (key->offset >= bytenr && csum_end > end_byte && } else if (key->offset >= bytenr && csum_end > end_byte &&
end_byte > key->offset) { end_byte > key->offset) {
/* /*
...@@ -563,10 +562,10 @@ static noinline void truncate_one_csum(struct btrfs_trans_handle *trans, ...@@ -563,10 +562,10 @@ static noinline void truncate_one_csum(struct btrfs_trans_handle *trans,
u32 new_size = (csum_end - end_byte) >> blocksize_bits; u32 new_size = (csum_end - end_byte) >> blocksize_bits;
new_size *= csum_size; new_size *= csum_size;
btrfs_truncate_item(trans, root, path, new_size, 0); btrfs_truncate_item(root, path, new_size, 0);
key->offset = end_byte; key->offset = end_byte;
btrfs_set_item_key_safe(trans, root, path, key); btrfs_set_item_key_safe(root, path, key);
} else { } else {
BUG(); BUG();
} }
...@@ -681,7 +680,7 @@ int btrfs_del_csums(struct btrfs_trans_handle *trans, ...@@ -681,7 +680,7 @@ int btrfs_del_csums(struct btrfs_trans_handle *trans,
key.offset = end_byte - 1; key.offset = end_byte - 1;
} else { } else {
truncate_one_csum(trans, root, path, &key, bytenr, len); truncate_one_csum(root, path, &key, bytenr, len);
if (key.offset < bytenr) if (key.offset < bytenr)
break; break;
} }
......
...@@ -824,7 +824,7 @@ int __btrfs_drop_extents(struct btrfs_trans_handle *trans, ...@@ -824,7 +824,7 @@ int __btrfs_drop_extents(struct btrfs_trans_handle *trans,
memcpy(&new_key, &key, sizeof(new_key)); memcpy(&new_key, &key, sizeof(new_key));
new_key.offset = end; new_key.offset = end;
btrfs_set_item_key_safe(trans, root, path, &new_key); btrfs_set_item_key_safe(root, path, &new_key);
extent_offset += end - key.offset; extent_offset += end - key.offset;
btrfs_set_file_extent_offset(leaf, fi, extent_offset); btrfs_set_file_extent_offset(leaf, fi, extent_offset);
...@@ -1040,7 +1040,7 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans, ...@@ -1040,7 +1040,7 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
ino, bytenr, orig_offset, ino, bytenr, orig_offset,
&other_start, &other_end)) { &other_start, &other_end)) {
new_key.offset = end; new_key.offset = end;
btrfs_set_item_key_safe(trans, root, path, &new_key); btrfs_set_item_key_safe(root, path, &new_key);
fi = btrfs_item_ptr(leaf, path->slots[0], fi = btrfs_item_ptr(leaf, path->slots[0],
struct btrfs_file_extent_item); struct btrfs_file_extent_item);
btrfs_set_file_extent_generation(leaf, fi, btrfs_set_file_extent_generation(leaf, fi,
...@@ -1074,7 +1074,7 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans, ...@@ -1074,7 +1074,7 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
trans->transid); trans->transid);
path->slots[0]++; path->slots[0]++;
new_key.offset = start; new_key.offset = start;
btrfs_set_item_key_safe(trans, root, path, &new_key); btrfs_set_item_key_safe(root, path, &new_key);
fi = btrfs_item_ptr(leaf, path->slots[0], fi = btrfs_item_ptr(leaf, path->slots[0],
struct btrfs_file_extent_item); struct btrfs_file_extent_item);
...@@ -1888,7 +1888,7 @@ static int fill_holes(struct btrfs_trans_handle *trans, struct inode *inode, ...@@ -1888,7 +1888,7 @@ static int fill_holes(struct btrfs_trans_handle *trans, struct inode *inode,
path->slots[0]++; path->slots[0]++;
key.offset = offset; key.offset = offset;
btrfs_set_item_key_safe(trans, root, path, &key); btrfs_set_item_key_safe(root, path, &key);
fi = btrfs_item_ptr(leaf, path->slots[0], fi = btrfs_item_ptr(leaf, path->slots[0],
struct btrfs_file_extent_item); struct btrfs_file_extent_item);
num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end - num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end -
......
...@@ -246,7 +246,7 @@ int btrfs_del_inode_extref(struct btrfs_trans_handle *trans, ...@@ -246,7 +246,7 @@ int btrfs_del_inode_extref(struct btrfs_trans_handle *trans,
memmove_extent_buffer(leaf, ptr, ptr + del_len, memmove_extent_buffer(leaf, ptr, ptr + del_len,
item_size - (ptr + del_len - item_start)); item_size - (ptr + del_len - item_start));
btrfs_truncate_item(trans, root, path, item_size - del_len, 1); btrfs_truncate_item(root, path, item_size - del_len, 1);
out: out:
btrfs_free_path(path); btrfs_free_path(path);
...@@ -309,7 +309,7 @@ int btrfs_del_inode_ref(struct btrfs_trans_handle *trans, ...@@ -309,7 +309,7 @@ int btrfs_del_inode_ref(struct btrfs_trans_handle *trans,
item_start = btrfs_item_ptr_offset(leaf, path->slots[0]); item_start = btrfs_item_ptr_offset(leaf, path->slots[0]);
memmove_extent_buffer(leaf, ptr, ptr + sub_item_len, memmove_extent_buffer(leaf, ptr, ptr + sub_item_len,
item_size - (ptr + sub_item_len - item_start)); item_size - (ptr + sub_item_len - item_start));
btrfs_truncate_item(trans, root, path, item_size - sub_item_len, 1); btrfs_truncate_item(root, path, item_size - sub_item_len, 1);
out: out:
btrfs_free_path(path); btrfs_free_path(path);
......
...@@ -4178,8 +4178,7 @@ int btrfs_truncate_inode_items(struct btrfs_trans_handle *trans, ...@@ -4178,8 +4178,7 @@ int btrfs_truncate_inode_items(struct btrfs_trans_handle *trans,
} }
size = size =
btrfs_file_extent_calc_inline_size(size); btrfs_file_extent_calc_inline_size(size);
btrfs_truncate_item(trans, root, path, btrfs_truncate_item(root, path, size, 1);
size, 1);
} else if (root->ref_cows) { } else if (root->ref_cows) {
inode_sub_bytes(inode, item_end + 1 - inode_sub_bytes(inode, item_end + 1 -
found_key.offset); found_key.offset);
......
...@@ -408,7 +408,7 @@ static noinline int overwrite_item(struct btrfs_trans_handle *trans, ...@@ -408,7 +408,7 @@ static noinline int overwrite_item(struct btrfs_trans_handle *trans,
found_size = btrfs_item_size_nr(path->nodes[0], found_size = btrfs_item_size_nr(path->nodes[0],
path->slots[0]); path->slots[0]);
if (found_size > item_size) if (found_size > item_size)
btrfs_truncate_item(trans, root, path, item_size, 1); btrfs_truncate_item(root, path, item_size, 1);
else if (found_size < item_size) else if (found_size < item_size)
btrfs_extend_item(trans, root, path, btrfs_extend_item(trans, root, path,
item_size - found_size); item_size - found_size);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册