]> www.infradead.org Git - nvme.git/commitdiff
btrfs: pass a reloc_control to relocate_file_extent_cluster()
authorJohannes Thumshirn <johannes.thumshirn@wdc.com>
Tue, 4 Jun 2024 11:28:25 +0000 (13:28 +0200)
committerDavid Sterba <dsterba@suse.com>
Thu, 11 Jul 2024 13:33:23 +0000 (15:33 +0200)
Instead of passing in a reloc_control's data_inode and
file_extent_cluster members, pass in the whole reloc_control structure.

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 442d3c07447719a2412d6fb0004f781ad9279008..e23220bb2d5332691a12745ae37ae4611abe6a97 100644 (file)
@@ -3084,9 +3084,10 @@ release_folio:
        return ret;
 }
 
-static int relocate_file_extent_cluster(struct inode *inode,
-                                       const struct file_extent_cluster *cluster)
+static int relocate_file_extent_cluster(struct reloc_control *rc)
 {
+       struct inode *inode = rc->data_inode;
+       const struct file_extent_cluster *cluster = &rc->cluster;
        u64 offset = BTRFS_I(inode)->reloc_block_group_start;
        unsigned long index;
        unsigned long last_index;
@@ -3132,7 +3133,7 @@ static noinline_for_stack int relocate_data_extent(struct reloc_control *rc,
        struct btrfs_root *root = BTRFS_I(inode)->root;
 
        if (cluster->nr > 0 && extent_key->objectid != cluster->end + 1) {
-               ret = relocate_file_extent_cluster(inode, cluster);
+               ret = relocate_file_extent_cluster(rc);
                if (ret)
                        return ret;
                cluster->nr = 0;
@@ -3158,7 +3159,7 @@ static noinline_for_stack int relocate_data_extent(struct reloc_control *rc,
                 * the cluster we need to relocate.
                 */
                root->relocation_src_root = cluster->owning_root;
-               ret = relocate_file_extent_cluster(inode, cluster);
+               ret = relocate_file_extent_cluster(rc);
                if (ret)
                        return ret;
                cluster->nr = 0;
@@ -3177,7 +3178,7 @@ static noinline_for_stack int relocate_data_extent(struct reloc_control *rc,
        cluster->nr++;
 
        if (cluster->nr >= MAX_EXTENTS) {
-               ret = relocate_file_extent_cluster(inode, cluster);
+               ret = relocate_file_extent_cluster(rc);
                if (ret)
                        return ret;
                cluster->nr = 0;
@@ -3775,8 +3776,7 @@ restart:
        }
 
        if (!err) {
-               ret = relocate_file_extent_cluster(rc->data_inode,
-                                                  &rc->cluster);
+               ret = relocate_file_extent_cluster(rc);
                if (ret < 0)
                        err = ret;
        }