btrfs: pass reloc_control to setup_relocation_extent_mapping()
All parameters passed into setup_relocation_extent_mapping() can be derived from 'struct reloc_control', so only pass in a 'struct reloc_control'. Reviewed-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
60f3dabdbc
commit
6d81df75af
@ -2899,11 +2899,14 @@ static noinline_for_stack int prealloc_file_extent_cluster(struct reloc_control
|
||||
return ret;
|
||||
}
|
||||
|
||||
static noinline_for_stack int setup_relocation_extent_mapping(struct inode *inode,
|
||||
u64 start, u64 end, u64 block_start)
|
||||
static noinline_for_stack int setup_relocation_extent_mapping(struct reloc_control *rc)
|
||||
{
|
||||
struct btrfs_inode *inode = BTRFS_I(rc->data_inode);
|
||||
struct extent_map *em;
|
||||
struct extent_state *cached_state = NULL;
|
||||
u64 offset = inode->reloc_block_group_start;
|
||||
u64 start = rc->cluster.start - offset;
|
||||
u64 end = rc->cluster.end - offset;
|
||||
int ret = 0;
|
||||
|
||||
em = alloc_extent_map();
|
||||
@ -2912,14 +2915,14 @@ static noinline_for_stack int setup_relocation_extent_mapping(struct inode *inod
|
||||
|
||||
em->start = start;
|
||||
em->len = end + 1 - start;
|
||||
em->disk_bytenr = block_start;
|
||||
em->disk_bytenr = rc->cluster.start;
|
||||
em->disk_num_bytes = em->len;
|
||||
em->ram_bytes = em->len;
|
||||
em->flags |= EXTENT_FLAG_PINNED;
|
||||
|
||||
lock_extent(&BTRFS_I(inode)->io_tree, start, end, &cached_state);
|
||||
ret = btrfs_replace_extent_map_range(BTRFS_I(inode), em, false);
|
||||
unlock_extent(&BTRFS_I(inode)->io_tree, start, end, &cached_state);
|
||||
lock_extent(&inode->io_tree, start, end, &cached_state);
|
||||
ret = btrfs_replace_extent_map_range(inode, em, false);
|
||||
unlock_extent(&inode->io_tree, start, end, &cached_state);
|
||||
free_extent_map(em);
|
||||
|
||||
return ret;
|
||||
@ -3110,8 +3113,7 @@ static int relocate_file_extent_cluster(struct reloc_control *rc)
|
||||
|
||||
file_ra_state_init(ra, inode->i_mapping);
|
||||
|
||||
ret = setup_relocation_extent_mapping(inode, cluster->start - offset,
|
||||
cluster->end - offset, cluster->start);
|
||||
ret = setup_relocation_extent_mapping(rc);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user