aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/dev-replace.c
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2018-03-20 10:35:50 -0400
committerDavid Sterba <dsterba@suse.com>2018-05-28 12:07:22 -0400
commit00251a527a6fae93ccd4322619b23db56ed82986 (patch)
treeaa17bb7d9396860a9db0d991081bb93d94d4d5e6 /fs/btrfs/dev-replace.c
parentb51851971343da1ef8533fb6e174c9c539638dd8 (diff)
btrfs: squeeze btrfs_dev_replace_continue_on_mount to its caller
The function is called once and is fairly small, we can merge it with the caller. Reviewed-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.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
index f82be266ba4b..db4d08c65131 100644
--- a/fs/btrfs/dev-replace.c
+++ b/fs/btrfs/dev-replace.c
@@ -33,8 +33,6 @@ static void btrfs_dev_replace_update_device_in_mapping_tree(
33 struct btrfs_device *srcdev, 33 struct btrfs_device *srcdev,
34 struct btrfs_device *tgtdev); 34 struct btrfs_device *tgtdev);
35static int btrfs_dev_replace_kthread(void *data); 35static int btrfs_dev_replace_kthread(void *data);
36static int btrfs_dev_replace_continue_on_mount(struct btrfs_fs_info *fs_info);
37
38 36
39int btrfs_init_dev_replace(struct btrfs_fs_info *fs_info) 37int btrfs_init_dev_replace(struct btrfs_fs_info *fs_info)
40{ 38{
@@ -810,6 +808,7 @@ static int btrfs_dev_replace_kthread(void *data)
810 struct btrfs_fs_info *fs_info = data; 808 struct btrfs_fs_info *fs_info = data;
811 struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; 809 struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace;
812 u64 progress; 810 u64 progress;
811 int ret;
813 812
814 progress = btrfs_dev_replace_progress(fs_info); 813 progress = btrfs_dev_replace_progress(fs_info);
815 progress = div_u64(progress, 10); 814 progress = div_u64(progress, 10);
@@ -820,23 +819,14 @@ static int btrfs_dev_replace_kthread(void *data)
820 btrfs_dev_name(dev_replace->tgtdev), 819 btrfs_dev_name(dev_replace->tgtdev),
821 (unsigned int)progress); 820 (unsigned int)progress);
822 821
823 btrfs_dev_replace_continue_on_mount(fs_info);
824 clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags);
825
826 return 0;
827}
828
829static int btrfs_dev_replace_continue_on_mount(struct btrfs_fs_info *fs_info)
830{
831 struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace;
832 int ret;
833
834 ret = btrfs_scrub_dev(fs_info, dev_replace->srcdev->devid, 822 ret = btrfs_scrub_dev(fs_info, dev_replace->srcdev->devid,
835 dev_replace->committed_cursor_left, 823 dev_replace->committed_cursor_left,
836 btrfs_device_get_total_bytes(dev_replace->srcdev), 824 btrfs_device_get_total_bytes(dev_replace->srcdev),
837 &dev_replace->scrub_progress, 0, 1); 825 &dev_replace->scrub_progress, 0, 1);
838 ret = btrfs_dev_replace_finishing(fs_info, ret); 826 ret = btrfs_dev_replace_finishing(fs_info, ret);
839 WARN_ON(ret); 827 WARN_ON(ret);
828
829 clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags);
840 return 0; 830 return 0;
841} 831}
842 832