aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/dev-replace.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/dev-replace.c')
-rw-r--r--fs/btrfs/dev-replace.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
index 08092d329f66..c0878ff8185a 100644
--- a/fs/btrfs/dev-replace.c
+++ b/fs/btrfs/dev-replace.c
@@ -805,16 +805,23 @@ int btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info)
805 btrfs_dev_replace_write_unlock(dev_replace); 805 btrfs_dev_replace_write_unlock(dev_replace);
806 break; 806 break;
807 case BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: 807 case BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED:
808 result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR;
809 tgt_device = dev_replace->tgtdev; 808 tgt_device = dev_replace->tgtdev;
810 src_device = dev_replace->srcdev; 809 src_device = dev_replace->srcdev;
811 btrfs_dev_replace_write_unlock(dev_replace); 810 btrfs_dev_replace_write_unlock(dev_replace);
812 btrfs_scrub_cancel(fs_info); 811 ret = btrfs_scrub_cancel(fs_info);
813 /* btrfs_dev_replace_finishing() will handle the cleanup part */ 812 if (ret < 0) {
814 btrfs_info_in_rcu(fs_info, 813 result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED;
815 "dev_replace from %s (devid %llu) to %s canceled", 814 } else {
816 btrfs_dev_name(src_device), src_device->devid, 815 result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR;
817 btrfs_dev_name(tgt_device)); 816 /*
817 * btrfs_dev_replace_finishing() will handle the
818 * cleanup part
819 */
820 btrfs_info_in_rcu(fs_info,
821 "dev_replace from %s (devid %llu) to %s canceled",
822 btrfs_dev_name(src_device), src_device->devid,
823 btrfs_dev_name(tgt_device));
824 }
818 break; 825 break;
819 case BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: 826 case BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED:
820 /* 827 /*