btrfs: pass reloc_control to relocate_data_extent()
authorJohannes Thumshirn <johannes.thumshirn@wdc.com>
Tue, 4 Jun 2024 11:15:34 +0000 (13:15 +0200)
committerDavid Sterba <dsterba@suse.com>
Thu, 11 Jul 2024 13:33:23 +0000 (15:33 +0200)
Pass a 'struct reloc_control' to relocate_data_extent() instead of
it's data_inode and file_extent_cluster separately.

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>
fs/btrfs/relocation.c

index 81836a3..442d3c0 100644 (file)
@@ -3123,10 +3123,11 @@ out:
        return ret;
 }
 
-static noinline_for_stack int relocate_data_extent(struct inode *inode,
-                               const struct btrfs_key *extent_key,
-                               struct file_extent_cluster *cluster)
+static noinline_for_stack int relocate_data_extent(struct reloc_control *rc,
+                                          const struct btrfs_key *extent_key)
 {
+       struct inode *inode = rc->data_inode;
+       struct file_extent_cluster *cluster = &rc->cluster;
        int ret;
        struct btrfs_root *root = BTRFS_I(inode)->root;
 
@@ -3745,8 +3746,7 @@ restart:
                if (rc->stage == MOVE_DATA_EXTENTS &&
                    (flags & BTRFS_EXTENT_FLAG_DATA)) {
                        rc->found_file_extent = true;
-                       ret = relocate_data_extent(rc->data_inode,
-                                                  &key, &rc->cluster);
+                       ret = relocate_data_extent(rc, &key);
                        if (ret < 0) {
                                err = ret;
                                break;