Commit 6e927ceb authored by Anand Jain's avatar Anand Jain Committed by David Sterba

btrfs: cleanup btrfs_find_device_by_devspec()

btrfs_find_device_by_devspec() finds the device by @devid or by
@device_path. This patch makes code flow easy to read by open coding the
else part and renames devpath to device_path.
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 d95a830c
...@@ -2402,7 +2402,8 @@ static struct btrfs_device *btrfs_find_device_by_path( ...@@ -2402,7 +2402,8 @@ static struct btrfs_device *btrfs_find_device_by_path(
* Lookup a device given by device id, or the path if the id is 0. * Lookup a device given by device id, or the path if the id is 0.
*/ */
struct btrfs_device *btrfs_find_device_by_devspec( struct btrfs_device *btrfs_find_device_by_devspec(
struct btrfs_fs_info *fs_info, u64 devid, const char *devpath) struct btrfs_fs_info *fs_info, u64 devid,
const char *device_path)
{ {
struct btrfs_device *device; struct btrfs_device *device;
...@@ -2410,24 +2411,24 @@ struct btrfs_device *btrfs_find_device_by_devspec( ...@@ -2410,24 +2411,24 @@ struct btrfs_device *btrfs_find_device_by_devspec(
device = btrfs_find_device(fs_info, devid, NULL, NULL); device = btrfs_find_device(fs_info, devid, NULL, NULL);
if (!device) if (!device)
return ERR_PTR(-ENOENT); return ERR_PTR(-ENOENT);
} else { return device;
if (!devpath || !devpath[0]) }
return ERR_PTR(-EINVAL);
if (!device_path || !device_path[0])
if (strcmp(devpath, "missing") == 0) { return ERR_PTR(-EINVAL);
list_for_each_entry(device, &fs_info->fs_devices->devices,
dev_list) { if (strcmp(device_path, "missing") == 0) {
if (test_bit(BTRFS_DEV_STATE_IN_FS_METADATA, /* Find first missing device */
&device->dev_state) && list_for_each_entry(device, &fs_info->fs_devices->devices,
!device->bdev) dev_list) {
return device; if (test_bit(BTRFS_DEV_STATE_IN_FS_METADATA,
} &device->dev_state) && !device->bdev)
return ERR_PTR(-ENOENT); return device;
} else {
device = btrfs_find_device_by_path(fs_info, devpath);
} }
return ERR_PTR(-ENOENT);
} }
return device;
return btrfs_find_device_by_path(fs_info, device_path);
} }
/* /*
......
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