Current u64 return from btrfs_dev_replace_cancel() was probably done
to match the btrfs_ioctl_dev_replace_args::result. However as our
actual return value fits in int, and it further gets typecast to u64,
so just return int.

Signed-off-by: Anand Jain <>
 fs/btrfs/dev-replace.c | 4 ++--
 fs/btrfs/dev-replace.h | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
index 4d1dbc16fcd4..a428d528220f 100644
--- a/fs/btrfs/dev-replace.c
+++ b/fs/btrfs/dev-replace.c
@@ -693,13 +693,13 @@ void btrfs_dev_replace_status(struct btrfs_fs_info 
        btrfs_dev_replace_unlock(dev_replace, 0);
-u64 btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info)
+int btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info)
        struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace;
        struct btrfs_device *tgt_device = NULL;
        struct btrfs_trans_handle *trans;
        struct btrfs_root *root = fs_info->tree_root;
-       u64 result;
+       int result;
        int ret;
        if (sb_rdonly(fs_info->sb))
diff --git a/fs/btrfs/dev-replace.h b/fs/btrfs/dev-replace.h
index 6c3543d93e96..389de365b0db 100644
--- a/fs/btrfs/dev-replace.h
+++ b/fs/btrfs/dev-replace.h
@@ -32,7 +32,7 @@ int btrfs_dev_replace_start(struct btrfs_fs_info *fs_info,
                int read_src);
 void btrfs_dev_replace_status(struct btrfs_fs_info *fs_info,
                              struct btrfs_ioctl_dev_replace_args *args);
-u64 btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info);
+int btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info);
 void btrfs_dev_replace_suspend_for_unmount(struct btrfs_fs_info *fs_info);
 int btrfs_resume_dev_replace_async(struct btrfs_fs_info *fs_info);
 int btrfs_dev_replace_is_ongoing(struct btrfs_dev_replace *dev_replace);

To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to
More majordomo info at

Reply via email to