mirror of
https://github.com/kdave/btrfs-progs
synced 2024-12-22 06:10:06 +00:00
btrfs-progs: Refactor write_tree_block to use btrfs_fs_info
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
790b5950f3
commit
f85fc6e378
@ -111,7 +111,7 @@ static int change_header_uuid(struct btrfs_root *root, struct extent_buffer *eb)
|
||||
write_extent_buffer(eb, fs_info->new_chunk_tree_uuid,
|
||||
btrfs_header_chunk_tree_uuid(eb),
|
||||
BTRFS_UUID_SIZE);
|
||||
ret = write_tree_block(NULL, root, eb);
|
||||
ret = write_tree_block(NULL, fs_info, eb);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -193,7 +193,7 @@ static int change_device_uuid(struct btrfs_root *root, struct extent_buffer *eb,
|
||||
write_extent_buffer(eb, fs_info->new_fsid,
|
||||
(unsigned long)btrfs_device_fsid(di),
|
||||
BTRFS_FSID_SIZE);
|
||||
ret = write_tree_block(NULL, root, eb);
|
||||
ret = write_tree_block(NULL, fs_info, eb);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -251,7 +251,7 @@ static int change_fsid_prepare(struct btrfs_fs_info *fs_info)
|
||||
write_extent_buffer(tree_root->node, fs_info->new_chunk_tree_uuid,
|
||||
btrfs_header_chunk_tree_uuid(tree_root->node),
|
||||
BTRFS_UUID_SIZE);
|
||||
return write_tree_block(NULL, tree_root, tree_root->node);
|
||||
return write_tree_block(NULL, fs_info, tree_root->node);
|
||||
}
|
||||
|
||||
static int change_fsid_done(struct btrfs_fs_info *fs_info)
|
||||
|
17
disk-io.c
17
disk-io.c
@ -449,12 +449,12 @@ int write_and_map_eb(struct btrfs_fs_info *fs_info, struct extent_buffer *eb)
|
||||
}
|
||||
|
||||
int write_tree_block(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_root *root,
|
||||
struct btrfs_fs_info *fs_info,
|
||||
struct extent_buffer *eb)
|
||||
{
|
||||
if (check_tree_block(root->fs_info, eb)) {
|
||||
print_tree_block_error(root->fs_info, eb,
|
||||
check_tree_block(root->fs_info, eb));
|
||||
if (check_tree_block(fs_info, eb)) {
|
||||
print_tree_block_error(fs_info, eb,
|
||||
check_tree_block(fs_info, eb));
|
||||
BUG();
|
||||
}
|
||||
|
||||
@ -462,9 +462,9 @@ int write_tree_block(struct btrfs_trans_handle *trans,
|
||||
BUG();
|
||||
|
||||
btrfs_set_header_flag(eb, BTRFS_HEADER_FLAG_WRITTEN);
|
||||
csum_tree_block(root->fs_info, eb, 0);
|
||||
csum_tree_block(fs_info, eb, 0);
|
||||
|
||||
return write_and_map_eb(root->fs_info, eb);
|
||||
return write_and_map_eb(fs_info, eb);
|
||||
}
|
||||
|
||||
void btrfs_setup_root(struct btrfs_root *root, struct btrfs_fs_info *fs_info,
|
||||
@ -548,8 +548,9 @@ static int __commit_transaction(struct btrfs_trans_handle *trans,
|
||||
{
|
||||
u64 start;
|
||||
u64 end;
|
||||
struct btrfs_fs_info *fs_info = root->fs_info;
|
||||
struct extent_buffer *eb;
|
||||
struct extent_io_tree *tree = &root->fs_info->extent_cache;
|
||||
struct extent_io_tree *tree = &fs_info->extent_cache;
|
||||
int ret;
|
||||
|
||||
while(1) {
|
||||
@ -560,7 +561,7 @@ static int __commit_transaction(struct btrfs_trans_handle *trans,
|
||||
while(start <= end) {
|
||||
eb = find_first_extent_buffer(tree, start);
|
||||
BUG_ON(!eb || eb->start != start);
|
||||
ret = write_tree_block(trans, root, eb);
|
||||
ret = write_tree_block(trans, fs_info, eb);
|
||||
BUG_ON(ret);
|
||||
start += eb->len;
|
||||
clear_extent_buffer_dirty(eb);
|
||||
|
@ -189,7 +189,7 @@ int csum_tree_block_size(struct extent_buffer *buf, u16 csum_sectorsize,
|
||||
int verify_tree_block_csum_silent(struct extent_buffer *buf, u16 csum_size);
|
||||
int btrfs_read_buffer(struct extent_buffer *buf, u64 parent_transid);
|
||||
int write_tree_block(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_root *root,
|
||||
struct btrfs_fs_info *fs_info,
|
||||
struct extent_buffer *eb);
|
||||
int write_and_map_eb(struct btrfs_fs_info *fs_info, struct extent_buffer *eb);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user