X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=cmds-replace.c;h=a3ea977cc0d564b35273db3a4597be10a5d09ebf;hb=1c9c5f7fb3f6a2182d230d469b22b3b1329f24d8;hp=1ff028a0008a1ccc41e5eff3a3e587657d630a1d;hpb=edbdd06e25d4694d8be8d6217305b3dca3196846;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/cmds-replace.c b/cmds-replace.c index 1ff028a..a3ea977 100644 --- a/cmds-replace.c +++ b/cmds-replace.c @@ -37,7 +37,8 @@ #include "disk-io.h" #include "commands.h" - +#include "help.h" +#include "mkfs/common.h" static int print_replace_status(int fd, const char *path, int once); static char *time2string(char *buf, size_t s, __u64 t); @@ -166,7 +167,7 @@ static int cmd_replace_start(int argc, char **argv) status_args.cmd = BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS; status_args.result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT; ret = ioctl(fdmnt, BTRFS_IOC_DEV_REPLACE, &status_args); - if (ret) { + if (ret < 0) { fprintf(stderr, "ERROR: ioctl(DEV_REPLACE_STATUS) failed on \"%s\": %s", path, strerror(errno)); @@ -254,8 +255,8 @@ static int cmd_replace_start(int argc, char **argv) } strncpy((char *)start_args.start.tgtdev_name, dstdev, BTRFS_DEVICE_PATH_NAME_MAX); - ret = btrfs_prepare_device(fddstdev, dstdev, 1, &dstdev_block_count, 0, - 0); + ret = btrfs_prepare_device(fddstdev, dstdev, &dstdev_block_count, 0, + PREP_DEVICE_ZERO_END | PREP_DEVICE_VERBOSE); if (ret) goto leave_with_error; @@ -276,7 +277,7 @@ static int cmd_replace_start(int argc, char **argv) start_args.result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT; ret = ioctl(fdmnt, BTRFS_IOC_DEV_REPLACE, &start_args); if (do_not_background) { - if (ret) { + if (ret < 0) { fprintf(stderr, "ERROR: ioctl(DEV_REPLACE_START) failed on \"%s\": %s", path, strerror(errno)); @@ -372,7 +373,7 @@ static int print_replace_status(int fd, const char *path, int once) args.cmd = BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS; args.result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT; ret = ioctl(fd, BTRFS_IOC_DEV_REPLACE, &args); - if (ret) { + if (ret < 0) { fprintf(stderr, "ERROR: ioctl(DEV_REPLACE_STATUS) failed on \"%s\": %s", path, strerror(errno)); if (args.result != BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT) @@ -436,7 +437,7 @@ static int print_replace_status(int fd, const char *path, int once) printf("Never started"); break; default: - error("unknown status from ioctl DEV_REPLACE_STATUS on '%s': %llu\n", + error("unknown status from ioctl DEV_REPLACE_STATUS on '%s': %llu", path, status->replace_state); return -EINVAL; } @@ -522,7 +523,7 @@ static int cmd_replace_cancel(int argc, char **argv) ret = ioctl(fd, BTRFS_IOC_DEV_REPLACE, &args); e = errno; close_file_or_dir(fd, dirstream); - if (ret) { + if (ret < 0) { fprintf(stderr, "ERROR: ioctl(DEV_REPLACE_CANCEL) failed on \"%s\": %s", path, strerror(e)); if (args.result != BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_RESULT)