btrfs: cleanup btrfs_find_device_by_devspec()
authorAnand Jain <anand.jain@oracle.com>
Thu, 17 Jan 2019 15:32:29 +0000 (23:32 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 25 Feb 2019 13:13:23 +0000 (14:13 +0100)
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: Anand Jain <anand.jain@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/volumes.c

index 61432ee..e4be0f6 100644 (file)
@@ -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.
  */
 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;
 
@@ -2410,24 +2411,24 @@ struct btrfs_device *btrfs_find_device_by_devspec(
                device = btrfs_find_device(fs_info, devid, NULL, NULL);
                if (!device)
                        return ERR_PTR(-ENOENT);
-       } else {
-               if (!devpath || !devpath[0])
-                       return ERR_PTR(-EINVAL);
-
-               if (strcmp(devpath, "missing") == 0) {
-                       list_for_each_entry(device, &fs_info->fs_devices->devices,
-                                           dev_list) {
-                               if (test_bit(BTRFS_DEV_STATE_IN_FS_METADATA,
-                                            &device->dev_state) &&
-                                            !device->bdev)
-                                       return device;
-                       }
-                       return ERR_PTR(-ENOENT);
-               } else {
-                       device = btrfs_find_device_by_path(fs_info, devpath);
+               return device;
+       }
+
+       if (!device_path || !device_path[0])
+               return ERR_PTR(-EINVAL);
+
+       if (strcmp(device_path, "missing") == 0) {
+               /* Find first missing device */
+               list_for_each_entry(device, &fs_info->fs_devices->devices,
+                                   dev_list) {
+                       if (test_bit(BTRFS_DEV_STATE_IN_FS_METADATA,
+                                    &device->dev_state) && !device->bdev)
+                               return device;
                }
+               return ERR_PTR(-ENOENT);
        }
-       return device;
+
+       return btrfs_find_device_by_path(fs_info, device_path);
 }
 
 /*