btrfs: pass btrfs_device to btrfs_scratch_superblocks()
authorDavid Sterba <dsterba@suse.com>
Thu, 22 Feb 2024 08:51:33 +0000 (09:51 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 4 Mar 2024 15:24:54 +0000 (16:24 +0100)
Replace the two parameters bdev and name by one that can be used to get
them both.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/dev-replace.c
fs/btrfs/volumes.c
fs/btrfs/volumes.h

index 1c02d4dc0b72b6517253bf59fc9468e336bd9cae..e24d784898fcd9e0a09dbcf46454f7960e8ae586 100644 (file)
@@ -998,8 +998,7 @@ error:
        btrfs_sysfs_remove_device(src_device);
        btrfs_sysfs_update_devid(tgt_device);
        if (test_bit(BTRFS_DEV_STATE_WRITEABLE, &src_device->dev_state))
-               btrfs_scratch_superblocks(fs_info, src_device->bdev,
-                                         src_device->name->str);
+               btrfs_scratch_superblocks(fs_info, src_device);
 
        /* write back the superblocks */
        trans = btrfs_start_transaction(root, 0);
index 32312f0de2bb8d1e1a3746e1c8437180f3029bdd..3cc947a42116f19c737730fa997b615d2b93376b 100644 (file)
@@ -2030,11 +2030,10 @@ static void btrfs_scratch_superblock(struct btrfs_fs_info *fs_info,
                        copy_num, ret);
 }
 
-void btrfs_scratch_superblocks(struct btrfs_fs_info *fs_info,
-                              struct block_device *bdev,
-                              const char *device_path)
+void btrfs_scratch_superblocks(struct btrfs_fs_info *fs_info, struct btrfs_device *device)
 {
        int copy_num;
+       struct block_device *bdev = device->bdev;
 
        if (!bdev)
                return;
@@ -2050,7 +2049,7 @@ void btrfs_scratch_superblocks(struct btrfs_fs_info *fs_info,
        btrfs_kobject_uevent(bdev, KOBJ_CHANGE);
 
        /* Update ctime/mtime for device path for libblkid */
-       update_dev_time(device_path);
+       update_dev_time(device->name->str);
 }
 
 int btrfs_rm_device(struct btrfs_fs_info *fs_info,
@@ -2185,8 +2184,7 @@ int btrfs_rm_device(struct btrfs_fs_info *fs_info,
         * device and let the caller do the final bdev_release.
         */
        if (test_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state)) {
-               btrfs_scratch_superblocks(fs_info, device->bdev,
-                                         device->name->str);
+               btrfs_scratch_superblocks(fs_info, device);
                if (device->bdev) {
                        sync_blockdev(device->bdev);
                        invalidate_bdev(device->bdev);
@@ -2299,8 +2297,7 @@ void btrfs_destroy_dev_replace_tgtdev(struct btrfs_device *tgtdev)
 
        mutex_unlock(&fs_devices->device_list_mutex);
 
-       btrfs_scratch_superblocks(tgtdev->fs_info, tgtdev->bdev,
-                                 tgtdev->name->str);
+       btrfs_scratch_superblocks(tgtdev->fs_info, tgtdev);
 
        btrfs_close_bdev(tgtdev);
        synchronize_rcu();
index 055e095c2f61174b8676eca9c7fe6d42df6c15a2..feba8d53526c417a28cdd5bd07061e8c3b8e19de 100644 (file)
@@ -817,9 +817,7 @@ void btrfs_commit_device_sizes(struct btrfs_transaction *trans);
 struct list_head * __attribute_const__ btrfs_get_fs_uuids(void);
 bool btrfs_check_rw_degradable(struct btrfs_fs_info *fs_info,
                                        struct btrfs_device *failing_dev);
-void btrfs_scratch_superblocks(struct btrfs_fs_info *fs_info,
-                              struct block_device *bdev,
-                              const char *device_path);
+void btrfs_scratch_superblocks(struct btrfs_fs_info *fs_info, struct btrfs_device *device);
 
 enum btrfs_raid_types __attribute_const__ btrfs_bg_flags_to_raid_index(u64 flags);
 int btrfs_bg_type_to_factor(u64 flags);