btrfs-progs: cmd send: switch to common error message wrapper

Message texts were adjusted.

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2016-01-11 11:01:47 +01:00
parent 7330c881c8
commit e67f03887f

View File

@ -198,14 +198,12 @@ static int write_buf(int fd, const void *buf, int size)
ret = write(fd, (char*)buf + pos, size - pos);
if (ret < 0) {
ret = -errno;
fprintf(stderr, "ERROR: failed to dump stream. %s\n",
strerror(-ret));
error("failed to dump stream: %s", strerror(-ret));
goto out;
}
if (!ret) {
ret = -EIO;
fprintf(stderr, "ERROR: failed to dump stream. %s\n",
strerror(-ret));
error("failed to dump stream: %s", strerror(-ret));
goto out;
}
pos += ret;
@ -227,8 +225,8 @@ static void *dump_thread(void *arg_)
readed = read(s->send_fd, buf, sizeof(buf));
if (readed < 0) {
ret = -errno;
fprintf(stderr, "ERROR: failed to read stream from "
"kernel. %s\n", strerror(-ret));
error("failed to read stream from kernel: %s\n",
strerror(-ret));
goto out;
}
if (!readed) {
@ -262,15 +260,14 @@ static int do_send(struct btrfs_send *send, u64 parent_root_id,
subvol_fd = openat(send->mnt_fd, subvol, O_RDONLY | O_NOATIME);
if (subvol_fd < 0) {
ret = -errno;
fprintf(stderr, "ERROR: open %s failed. %s\n", subvol,
strerror(-ret));
error("cannot open %s: %s", subvol, strerror(-ret));
goto out;
}
ret = pipe(pipefd);
if (ret < 0) {
ret = -errno;
fprintf(stderr, "ERROR: pipe failed. %s\n", strerror(-ret));
error("pipe failed: %s", strerror(-ret));
goto out;
}
@ -283,8 +280,7 @@ static int do_send(struct btrfs_send *send, u64 parent_root_id,
send);
if (ret) {
ret = -ret;
fprintf(stderr, "ERROR: thread setup failed: %s\n",
strerror(-ret));
error("thread setup failed: %s", strerror(-ret));
goto out;
}
@ -299,8 +295,7 @@ static int do_send(struct btrfs_send *send, u64 parent_root_id,
ret = ioctl(subvol_fd, BTRFS_IOC_SEND, &io_send);
if (ret) {
ret = -errno;
fprintf(stderr, "ERROR: send ioctl failed with %d: %s\n", ret,
strerror(-ret));
error("send ioctl failed with %d: %s", ret, strerror(-ret));
if (ret == -EINVAL && (!is_first_subvol || !is_last_subvol))
fprintf(stderr,
"Try upgrading your kernel or don't use -e.\n");
@ -318,14 +313,13 @@ static int do_send(struct btrfs_send *send, u64 parent_root_id,
ret = pthread_join(t_read, &t_err);
if (ret) {
ret = -ret;
fprintf(stderr, "ERROR: pthread_join failed: %s\n",
strerror(-ret));
error("pthread_join failed: %s", strerror(-ret));
goto out;
}
if (t_err) {
ret = (long int)t_err;
fprintf(stderr, "ERROR: failed to process send stream, ret=%ld "
"(%s)\n", (long int)t_err, strerror(-ret));
error("failed to process send stream, ret=%ld (%s)",
(long int)t_err, strerror(-ret));
goto out;
}
@ -361,16 +355,13 @@ static int init_root_path(struct btrfs_send *s, const char *subvol)
ret = find_mount_root(subvol, &s->root_path);
if (ret < 0) {
fprintf(stderr,
"ERROR: failed to determine mount point for %s: %s\n",
error("failed to determine mount point for %s: %s",
subvol, strerror(-ret));
ret = -EINVAL;
goto out;
}
if (ret > 0) {
fprintf(stderr,
"ERROR: %s doesn't belong to btrfs mount point\n",
subvol);
error("%s doesn't belong to btrfs mount point", subvol);
ret = -EINVAL;
goto out;
}
@ -378,15 +369,14 @@ static int init_root_path(struct btrfs_send *s, const char *subvol)
s->mnt_fd = open(s->root_path, O_RDONLY | O_NOATIME);
if (s->mnt_fd < 0) {
ret = -errno;
fprintf(stderr, "ERROR: can't open '%s': %s\n", s->root_path,
strerror(-ret));
error("cannot open '%s': %s", s->root_path, strerror(-ret));
goto out;
}
ret = subvol_uuid_search_init(s->mnt_fd, &s->sus);
if (ret < 0) {
fprintf(stderr, "ERROR: failed to initialize subvol search. "
"%s\n", strerror(-ret));
error("failed to initialize subvol search: %s",
strerror(-ret));
goto out;
}
@ -404,16 +394,15 @@ static int is_subvol_ro(struct btrfs_send *s, char *subvol)
fd = openat(s->mnt_fd, subvol, O_RDONLY | O_NOATIME);
if (fd < 0) {
ret = -errno;
fprintf(stderr, "ERROR: failed to open %s. %s\n",
subvol, strerror(-ret));
error("cannot open %s: %s", subvol, strerror(-ret));
goto out;
}
ret = ioctl(fd, BTRFS_IOC_SUBVOL_GETFLAGS, &flags);
if (ret < 0) {
ret = -errno;
fprintf(stderr, "ERROR: failed to get flags for subvolume. "
"%s\n", strerror(-ret));
error("failed to get flags for subvolume %s: %s",
subvol, strerror(-ret));
goto out;
}
@ -469,8 +458,7 @@ int cmd_send(int argc, char **argv)
subvol = realpath(optarg, NULL);
if (!subvol) {
ret = -errno;
fprintf(stderr, "ERROR: realpath %s failed. "
"%s\n", optarg, strerror(-ret));
error("realpath %s failed: %s\n", optarg, strerror(-ret));
goto out;
}
@ -481,8 +469,7 @@ int cmd_send(int argc, char **argv)
ret = get_root_id(&send, get_subvol_name(send.root_path, subvol),
&root_id);
if (ret < 0) {
fprintf(stderr, "ERROR: could not resolve "
"root_id for %s\n", subvol);
error("cannot resolve rootid for %s", subvol);
goto out;
}
@ -491,15 +478,13 @@ int cmd_send(int argc, char **argv)
goto out;
if (!ret) {
ret = -EINVAL;
fprintf(stderr,
"ERROR: cloned subvol %s is not read-only.\n",
subvol);
error("cloned subvolume %s is not read-only", subvol);
goto out;
}
ret = add_clone_source(&send, root_id);
if (ret < 0) {
fprintf(stderr, "ERROR: not enough memory\n");
error("not enough memory");
goto out;
}
subvol_uuid_search_finit(&send.sus);
@ -515,24 +500,21 @@ int cmd_send(int argc, char **argv)
break;
case 'f':
if (arg_copy_path(outname, optarg, sizeof(outname))) {
fprintf(stderr,
"ERROR: output file path too long (%zu)\n",
strlen(optarg));
error("output file path too long (%zu)", strlen(optarg));
ret = 1;
goto out;
}
break;
case 'p':
if (snapshot_parent) {
fprintf(stderr, "ERROR: you cannot have more than one parent (-p)\n");
error("you cannot have more than one parent (-p)");
ret = 1;
goto out;
}
snapshot_parent = realpath(optarg, NULL);
if (!snapshot_parent) {
ret = -errno;
fprintf(stderr, "ERROR: realpath %s failed. "
"%s\n", optarg, strerror(-ret));
error("realpath %s failed: %s", optarg, strerror(-ret));
goto out;
}
@ -541,8 +523,7 @@ int cmd_send(int argc, char **argv)
goto out;
if (!ret) {
ret = -EINVAL;
fprintf(stderr,
"ERROR: parent %s is not read-only.\n",
error("parent subvolume %s is not read-only",
snapshot_parent);
goto out;
}
@ -550,8 +531,7 @@ int cmd_send(int argc, char **argv)
full_send = 0;
break;
case 'i':
fprintf(stderr,
"ERROR: -i was removed, use -c instead\n");
error("option -i was removed, use -c instead");
ret = 1;
goto out;
case GETOPT_VAL_SEND_NO_DATA:
@ -559,7 +539,7 @@ int cmd_send(int argc, char **argv)
break;
case '?':
default:
fprintf(stderr, "ERROR: send args invalid.\n");
error("send arguments invalid");
ret = 1;
goto out;
}
@ -572,16 +552,14 @@ int cmd_send(int argc, char **argv)
send.dump_fd = creat(outname, 0600);
if (send.dump_fd == -1) {
ret = -errno;
fprintf(stderr, "ERROR: can't create '%s': %s\n",
outname, strerror(-ret));
error("cannot create '%s': %s", outname, strerror(-ret));
goto out;
}
}
if (isatty(send.dump_fd)) {
fprintf(stderr,
"ERROR: not dumping send stream into a terminal, "
"redirect it into a file\n");
error(
"not dumping send stream into a terminal, redirect it into a file");
ret = 1;
goto out;
}
@ -592,7 +570,7 @@ int cmd_send(int argc, char **argv)
subvol = realpath(argv[optind], NULL);
if (!subvol) {
ret = -errno;
fprintf(stderr, "ERROR: unable to resolve %s\n", argv[optind]);
error("unable to resolve %s", argv[optind]);
goto out;
}
@ -605,14 +583,13 @@ int cmd_send(int argc, char **argv)
get_subvol_name(send.root_path, snapshot_parent),
&parent_root_id);
if (ret < 0) {
fprintf(stderr, "ERROR: could not resolve root_id "
"for %s\n", snapshot_parent);
error("could not resolve rootid for %s", snapshot_parent);
goto out;
}
ret = add_clone_source(&send, parent_root_id);
if (ret < 0) {
fprintf(stderr, "ERROR: not enough memory\n");
error("not enough memory");
goto out;
}
}
@ -622,28 +599,25 @@ int cmd_send(int argc, char **argv)
subvol = realpath(argv[i], NULL);
if (!subvol) {
ret = -errno;
fprintf(stderr, "ERROR: unable to resolve %s\n", argv[i]);
error("unable to resolve %s", argv[i]);
goto out;
}
ret = find_mount_root(subvol, &mount_root);
if (ret < 0) {
fprintf(stderr, "ERROR: find_mount_root failed on %s: "
"%s\n", subvol,
error("find_mount_root failed on %s: %s", subvol,
strerror(-ret));
goto out;
}
if (ret > 0) {
fprintf(stderr,
"ERROR: %s doesn't belong to btrfs mount point\n",
error("%s does not belong to btrfs mount point",
subvol);
ret = -EINVAL;
goto out;
}
if (strcmp(send.root_path, mount_root) != 0) {
ret = -EINVAL;
fprintf(stderr, "ERROR: all subvols must be from the "
"same fs.\n");
error("all subvolumes must be from the same filesystem");
goto out;
}
free(mount_root);
@ -653,8 +627,7 @@ int cmd_send(int argc, char **argv)
goto out;
if (!ret) {
ret = -EINVAL;
fprintf(stderr, "ERROR: %s is not read-only.\n",
subvol);
error("subvolum %s is not read-only", subvol);
goto out;
}
}
@ -674,15 +647,14 @@ int cmd_send(int argc, char **argv)
subvol = realpath(subvol, NULL);
if (!subvol) {
ret = -errno;
fprintf(stderr, "ERROR: realpath %s failed. "
"%s\n", argv[i], strerror(-ret));
error("realpath %s failed: %s", argv[i], strerror(-ret));
goto out;
}
if (!full_send && !parent_root_id) {
ret = find_good_parent(&send, root_id, &parent_root_id);
if (ret < 0) {
fprintf(stderr, "ERROR: parent determination failed for %lld\n",
error("parent determination failed for %lld",
root_id);
goto out;
}
@ -693,8 +665,7 @@ int cmd_send(int argc, char **argv)
goto out;
if (!ret) {
ret = -EINVAL;
fprintf(stderr, "ERROR: %s is not read-only.\n",
subvol);
error("subvolume %s is not read-only", subvol);
goto out;
}
@ -715,7 +686,7 @@ int cmd_send(int argc, char **argv)
/* done with this subvol, so add it to the clone sources */
ret = add_clone_source(&send, root_id);
if (ret < 0) {
fprintf(stderr, "ERROR: not enough memory\n");
error("not enough memory");
goto out;
}