btrfs: enhance btrfs_find_device_by_user_input() to check device path
The operation of device replace and device delete follows same steps upto some depth with in btrfs kernel, however they don't share codes. This enhancement will help replace and delete to share codes. Signed-off-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Родитель
24fc572fe4
Коммит
b3d1b1532f
|
@ -320,10 +320,6 @@ int btrfs_dev_replace_start(struct btrfs_root *root,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if ((args->start.srcdevid == 0 && args->start.srcdev_name[0] == '\0') ||
|
||||
args->start.tgtdev_name[0] == '\0')
|
||||
return -EINVAL;
|
||||
|
||||
/* the disk copy procedure reuses the scrub code */
|
||||
mutex_lock(&fs_info->volume_mutex);
|
||||
ret = btrfs_find_device_by_user_input(root, args->start.srcdevid,
|
||||
|
|
|
@ -2113,6 +2113,9 @@ int btrfs_find_device_by_user_input(struct btrfs_root *root, u64 srcdevid,
|
|||
if (!*device)
|
||||
ret = -ENOENT;
|
||||
} else {
|
||||
if (!srcdev_name || !srcdev_name[0])
|
||||
return -EINVAL;
|
||||
|
||||
ret = btrfs_find_device_missing_or_by_path(root, srcdev_name,
|
||||
device);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче