Commit bacce86a authored by Anand Jain's avatar Anand Jain Committed by David Sterba

btrfs: drop unused argument step from btrfs_free_extra_devids

Commit cf89af14 ("btrfs: dev-replace: fail mount if we don't have
replace item with target device") dropped the multi stage operation of
btrfs_free_extra_devids() that does not need to check replace target
anymore and we can remove the 'step' argument.
Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
Signed-off-by: default avatarAnand Jain <anand.jain@oracle.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 2766ff61
...@@ -3149,11 +3149,13 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device ...@@ -3149,11 +3149,13 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device
} }
/* /*
* Keep the devid that is marked to be the target device for the * At this point we know all the devices that make this filesystem,
* device replace procedure * including the seed devices but we don't know yet if the replace
* target is required. So free devices that are not part of this
* filesystem but skip the replace traget device which is checked
* below in btrfs_init_dev_replace().
*/ */
btrfs_free_extra_devids(fs_devices, 0); btrfs_free_extra_devids(fs_devices);
if (!fs_devices->latest_bdev) { if (!fs_devices->latest_bdev) {
btrfs_err(fs_info, "failed to read devices"); btrfs_err(fs_info, "failed to read devices");
goto fail_tree_roots; goto fail_tree_roots;
...@@ -3200,8 +3202,6 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device ...@@ -3200,8 +3202,6 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device
goto fail_block_groups; goto fail_block_groups;
} }
btrfs_free_extra_devids(fs_devices, 1);
ret = btrfs_sysfs_add_fsid(fs_devices); ret = btrfs_sysfs_add_fsid(fs_devices);
if (ret) { if (ret) {
btrfs_err(fs_info, "failed to init sysfs fsid interface: %d", btrfs_err(fs_info, "failed to init sysfs fsid interface: %d",
......
...@@ -1044,7 +1044,7 @@ static struct btrfs_fs_devices *clone_fs_devices(struct btrfs_fs_devices *orig) ...@@ -1044,7 +1044,7 @@ static struct btrfs_fs_devices *clone_fs_devices(struct btrfs_fs_devices *orig)
} }
static void __btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, static void __btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices,
int step, struct btrfs_device **latest_dev) struct btrfs_device **latest_dev)
{ {
struct btrfs_device *device, *next; struct btrfs_device *device, *next;
...@@ -1089,16 +1089,16 @@ static void __btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, ...@@ -1089,16 +1089,16 @@ static void __btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices,
* After we have read the system tree and know devids belonging to this * After we have read the system tree and know devids belonging to this
* filesystem, remove the device which does not belong there. * filesystem, remove the device which does not belong there.
*/ */
void btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, int step) void btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices)
{ {
struct btrfs_device *latest_dev = NULL; struct btrfs_device *latest_dev = NULL;
struct btrfs_fs_devices *seed_dev; struct btrfs_fs_devices *seed_dev;
mutex_lock(&uuid_mutex); mutex_lock(&uuid_mutex);
__btrfs_free_extra_devids(fs_devices, step, &latest_dev); __btrfs_free_extra_devids(fs_devices, &latest_dev);
list_for_each_entry(seed_dev, &fs_devices->seed_list, seed_list) list_for_each_entry(seed_dev, &fs_devices->seed_list, seed_list)
__btrfs_free_extra_devids(seed_dev, step, &latest_dev); __btrfs_free_extra_devids(seed_dev, &latest_dev);
fs_devices->latest_bdev = latest_dev->bdev; fs_devices->latest_bdev = latest_dev->bdev;
......
...@@ -449,7 +449,7 @@ struct btrfs_device *btrfs_scan_one_device(const char *path, ...@@ -449,7 +449,7 @@ struct btrfs_device *btrfs_scan_one_device(const char *path,
fmode_t flags, void *holder); fmode_t flags, void *holder);
int btrfs_forget_devices(const char *path); int btrfs_forget_devices(const char *path);
void btrfs_close_devices(struct btrfs_fs_devices *fs_devices); void btrfs_close_devices(struct btrfs_fs_devices *fs_devices);
void btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, int step); void btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices);
void btrfs_assign_next_active_device(struct btrfs_device *device, void btrfs_assign_next_active_device(struct btrfs_device *device,
struct btrfs_device *this_dev); struct btrfs_device *this_dev);
struct btrfs_device *btrfs_find_device_by_devspec(struct btrfs_fs_info *fs_info, struct btrfs_device *btrfs_find_device_by_devspec(struct btrfs_fs_info *fs_info,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment