mirror of
https://github.com/kdave/btrfs-progs
synced 2025-01-21 21:12:55 +00:00
btrfs-progs: Remove root argument from btrfs_del_csums
It's not needed, since we can obtain a reference to fs_info from the passed transaction handle. This is needed by delayed refs code. Signed-off-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
819ac53931
commit
dddc3f44c9
@ -926,7 +926,7 @@ static int delete_csum(struct btrfs_root *root, u64 bytenr, u64 bytes)
|
||||
return PTR_ERR(trans);
|
||||
}
|
||||
|
||||
ret = btrfs_del_csums(trans, root, bytenr, bytes);
|
||||
ret = btrfs_del_csums(trans, bytenr, bytes);
|
||||
if (ret)
|
||||
fprintf(stderr, "Error deleting csums %d\n", ret);
|
||||
btrfs_commit_transaction(trans, root);
|
||||
|
3
ctree.h
3
ctree.h
@ -2730,8 +2730,7 @@ int btrfs_del_inode_ref(struct btrfs_trans_handle *trans,
|
||||
u64 ino, u64 parent_ino, u64 *index);
|
||||
|
||||
/* file-item.c */
|
||||
int btrfs_del_csums(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_root *root, u64 bytenr, u64 len);
|
||||
int btrfs_del_csums(struct btrfs_trans_handle *trans, u64 bytenr, u64 len);
|
||||
int btrfs_insert_file_extent(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_root *root,
|
||||
u64 objectid, u64 pos, u64 offset,
|
||||
|
@ -2372,7 +2372,7 @@ static int __free_extent(struct btrfs_trans_handle *trans,
|
||||
btrfs_release_path(path);
|
||||
|
||||
if (is_data) {
|
||||
ret = btrfs_del_csums(trans, root, bytenr, num_bytes);
|
||||
ret = btrfs_del_csums(trans, bytenr, num_bytes);
|
||||
BUG_ON(ret);
|
||||
}
|
||||
|
||||
|
20
file-item.c
20
file-item.c
@ -394,8 +394,7 @@ static noinline int truncate_one_csum(struct btrfs_root *root,
|
||||
* deletes the csum items from the csum tree for a given
|
||||
* range of bytes.
|
||||
*/
|
||||
int btrfs_del_csums(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_root *root, u64 bytenr, u64 len)
|
||||
int btrfs_del_csums(struct btrfs_trans_handle *trans, u64 bytenr, u64 len)
|
||||
{
|
||||
struct btrfs_path *path;
|
||||
struct btrfs_key key;
|
||||
@ -403,11 +402,10 @@ int btrfs_del_csums(struct btrfs_trans_handle *trans,
|
||||
u64 csum_end;
|
||||
struct extent_buffer *leaf;
|
||||
int ret;
|
||||
u16 csum_size =
|
||||
btrfs_super_csum_size(root->fs_info->super_copy);
|
||||
int blocksize = root->fs_info->sectorsize;
|
||||
u16 csum_size = btrfs_super_csum_size(trans->fs_info->super_copy);
|
||||
int blocksize = trans->fs_info->sectorsize;
|
||||
struct btrfs_root *csum_root = trans->fs_info->csum_root;
|
||||
|
||||
root = root->fs_info->csum_root;
|
||||
|
||||
path = btrfs_alloc_path();
|
||||
if (!path)
|
||||
@ -418,7 +416,7 @@ int btrfs_del_csums(struct btrfs_trans_handle *trans,
|
||||
key.offset = end_byte - 1;
|
||||
key.type = BTRFS_EXTENT_CSUM_KEY;
|
||||
|
||||
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
|
||||
ret = btrfs_search_slot(trans, csum_root, &key, path, -1, 1);
|
||||
if (ret > 0) {
|
||||
if (path->slots[0] == 0)
|
||||
goto out;
|
||||
@ -445,7 +443,7 @@ int btrfs_del_csums(struct btrfs_trans_handle *trans,
|
||||
|
||||
/* delete the entire item, it is inside our range */
|
||||
if (key.offset >= bytenr && csum_end <= end_byte) {
|
||||
ret = btrfs_del_item(trans, root, path);
|
||||
ret = btrfs_del_item(trans, csum_root, path);
|
||||
BUG_ON(ret);
|
||||
} else if (key.offset < bytenr && csum_end > end_byte) {
|
||||
unsigned long offset;
|
||||
@ -485,12 +483,14 @@ int btrfs_del_csums(struct btrfs_trans_handle *trans,
|
||||
* btrfs_split_item returns -EAGAIN when the
|
||||
* item changed size or key
|
||||
*/
|
||||
ret = btrfs_split_item(trans, root, path, &key, offset);
|
||||
ret = btrfs_split_item(trans, csum_root, path, &key,
|
||||
offset);
|
||||
BUG_ON(ret && ret != -EAGAIN);
|
||||
|
||||
key.offset = end_byte - 1;
|
||||
} else {
|
||||
ret = truncate_one_csum(root, path, &key, bytenr, len);
|
||||
ret = truncate_one_csum(csum_root, path, &key, bytenr,
|
||||
len);
|
||||
BUG_ON(ret);
|
||||
}
|
||||
btrfs_release_path(path);
|
||||
|
Loading…
Reference in New Issue
Block a user