User space understands the ioctl BTRFS_IOC_DEV_REPLACE command status using the struct btrfs_ioctl_dev_replace_args::result, and so userspace initializes this to BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT, so exclude this value in checking for the error.
Signed-off-by: Anand Jain <anand.j...@oracle.com> --- cmds-replace.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmds-replace.c b/cmds-replace.c index b30e6c781e64..42de4de8c031 100644 --- a/cmds-replace.c +++ b/cmds-replace.c @@ -296,6 +296,8 @@ static int cmd_replace_start(int argc, char **argv) } if (start_args.result != + BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT && + start_args.result != BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR) { error("ioctl(DEV_REPLACE_START) on '%s' returns error: %s", path, -- 1.8.3.1