aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/dev-replace.c
diff options
context:
space:
mode:
authorAnand Jain <anand.jain@oracle.com>2016-02-12 21:01:35 -0500
committerDavid Sterba <dsterba@suse.com>2016-04-28 04:59:13 -0400
commit24e0474b59538cdb9d2b7318ec7c7ae9f6faf85d (patch)
tree6003a14ab7655ca8b965486dd500ec50c2194606 /fs/btrfs/dev-replace.c
parentbd45ffbcb1f082e3c5a0bd56b1d7310d8b707ffb (diff)
btrfs: create helper btrfs_find_device_by_user_input()
The patch renames btrfs_dev_replace_find_srcdev() to btrfs_find_device_by_user_input() and moves it to volumes.c, so that delete device can use it. Signed-off-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/dev-replace.c')
-rw-r--r--fs/btrfs/dev-replace.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
index 26bcb487f958..7ad8ae994ca0 100644
--- a/fs/btrfs/dev-replace.c
+++ b/fs/btrfs/dev-replace.c
@@ -44,9 +44,6 @@ static void btrfs_dev_replace_update_device_in_mapping_tree(
44 struct btrfs_fs_info *fs_info, 44 struct btrfs_fs_info *fs_info,
45 struct btrfs_device *srcdev, 45 struct btrfs_device *srcdev,
46 struct btrfs_device *tgtdev); 46 struct btrfs_device *tgtdev);
47static int btrfs_dev_replace_find_srcdev(struct btrfs_root *root, u64 srcdevid,
48 char *srcdev_name,
49 struct btrfs_device **device);
50static u64 __btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info); 47static u64 __btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info);
51static int btrfs_dev_replace_kthread(void *data); 48static int btrfs_dev_replace_kthread(void *data);
52static int btrfs_dev_replace_continue_on_mount(struct btrfs_fs_info *fs_info); 49static int btrfs_dev_replace_continue_on_mount(struct btrfs_fs_info *fs_info);
@@ -329,7 +326,7 @@ int btrfs_dev_replace_start(struct btrfs_root *root,
329 326
330 /* the disk copy procedure reuses the scrub code */ 327 /* the disk copy procedure reuses the scrub code */
331 mutex_lock(&fs_info->volume_mutex); 328 mutex_lock(&fs_info->volume_mutex);
332 ret = btrfs_dev_replace_find_srcdev(root, args->start.srcdevid, 329 ret = btrfs_find_device_by_user_input(root, args->start.srcdevid,
333 args->start.srcdev_name, 330 args->start.srcdev_name,
334 &src_device); 331 &src_device);
335 if (ret) { 332 if (ret) {
@@ -626,25 +623,6 @@ static void btrfs_dev_replace_update_device_in_mapping_tree(
626 write_unlock(&em_tree->lock); 623 write_unlock(&em_tree->lock);
627} 624}
628 625
629static int btrfs_dev_replace_find_srcdev(struct btrfs_root *root, u64 srcdevid,
630 char *srcdev_name,
631 struct btrfs_device **device)
632{
633 int ret;
634
635 if (srcdevid) {
636 ret = 0;
637 *device = btrfs_find_device(root->fs_info, srcdevid, NULL,
638 NULL);
639 if (!*device)
640 ret = -ENOENT;
641 } else {
642 ret = btrfs_find_device_missing_or_by_path(root, srcdev_name,
643 device);
644 }
645 return ret;
646}
647
648void btrfs_dev_replace_status(struct btrfs_fs_info *fs_info, 626void btrfs_dev_replace_status(struct btrfs_fs_info *fs_info,
649 struct btrfs_ioctl_dev_replace_args *args) 627 struct btrfs_ioctl_dev_replace_args *args)
650{ 628{