aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/dev-replace.c
diff options
context:
space:
mode:
authorAnand Jain <anand.jain@oracle.com>2018-11-20 06:56:15 -0500
committerDavid Sterba <dsterba@suse.com>2018-12-17 08:51:35 -0500
commit49365e69762715fb301db0bce3333e4c41dda810 (patch)
treedc78dd9056bf7d1dc521569f553a7d0a02fb2f1e /fs/btrfs/dev-replace.c
parent53e62fb5a4aedeff05aa1efd277de32dc765f4bf (diff)
btrfs: silence warning if replace is canceled
When we successfully cancel the device replace, its scrub worker returns -ECANCELED, which is then passed to btrfs_dev_replace_finishing. It cleans up based on the returned status and propagates the same -ECANCELED back the parent function. As of now only user can cancel the replace-scrub, so its ok to silence the warning here. Signed-off-by: Anand Jain <anand.jain@oracle.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/dev-replace.c')
-rw-r--r--fs/btrfs/dev-replace.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
index 85d93bd3b27a..ead4f3803527 100644
--- a/fs/btrfs/dev-replace.c
+++ b/fs/btrfs/dev-replace.c
@@ -503,7 +503,7 @@ static int btrfs_dev_replace_start(struct btrfs_fs_info *fs_info,
503 ret = btrfs_dev_replace_finishing(fs_info, ret); 503 ret = btrfs_dev_replace_finishing(fs_info, ret);
504 if (ret == -EINPROGRESS) { 504 if (ret == -EINPROGRESS) {
505 ret = BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS; 505 ret = BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS;
506 } else { 506 } else if (ret != -ECANCELED) {
507 WARN_ON(ret); 507 WARN_ON(ret);
508 } 508 }
509 509
@@ -966,7 +966,7 @@ static int btrfs_dev_replace_kthread(void *data)
966 btrfs_device_get_total_bytes(dev_replace->srcdev), 966 btrfs_device_get_total_bytes(dev_replace->srcdev),
967 &dev_replace->scrub_progress, 0, 1); 967 &dev_replace->scrub_progress, 0, 1);
968 ret = btrfs_dev_replace_finishing(fs_info, ret); 968 ret = btrfs_dev_replace_finishing(fs_info, ret);
969 WARN_ON(ret); 969 WARN_ON(ret && ret != -ECANCELED);
970 970
971 clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); 971 clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags);
972 return 0; 972 return 0;