From: Omar Sandoval <osan...@fb.com> Most of the interesting part of this command is the commit mode, so this only saves a little bit of code.
Signed-off-by: Omar Sandoval <osan...@fb.com> --- cmds-subvolume.c | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/cmds-subvolume.c b/cmds-subvolume.c index 6b474fe4..c5e03011 100644 --- a/cmds-subvolume.c +++ b/cmds-subvolume.c @@ -225,7 +225,6 @@ static int cmd_subvol_delete(int argc, char **argv) int res, ret = 0; int cnt; int fd = -1; - struct btrfs_ioctl_vol_args args; char *dname, *vname, *cpath; char *dupdname = NULL; char *dupvname = NULL; @@ -237,6 +236,7 @@ static int cmd_subvol_delete(int argc, char **argv) char uuidbuf[BTRFS_UUID_UNPARSED_SIZE]; struct seen_fsid *seen_fsid_hash[SEEN_FSID_HASH_SIZE] = { NULL, }; enum { COMMIT_AFTER = 1, COMMIT_EACH = 2 }; + enum btrfs_util_error err; while (1) { int c; @@ -280,14 +280,9 @@ static int cmd_subvol_delete(int argc, char **argv) again: path = argv[cnt]; - res = test_issubvolume(path); - if (res < 0) { - error("cannot access subvolume %s: %s", path, strerror(-res)); - ret = 1; - goto out; - } - if (!res) { - error("not a subvolume: %s", path); + err = btrfs_util_is_subvolume(path); + if (err) { + error_btrfs_util(err); ret = 1; goto out; } @@ -314,12 +309,10 @@ again: printf("Delete subvolume (%s): '%s/%s'\n", commit_mode == COMMIT_EACH || (commit_mode == COMMIT_AFTER && cnt + 1 == argc) ? "commit" : "no-commit", dname, vname); - memset(&args, 0, sizeof(args)); - strncpy_null(args.name, vname); - res = ioctl(fd, BTRFS_IOC_SNAP_DESTROY, &args); - if(res < 0 ){ - error("cannot delete '%s/%s': %s", dname, vname, - strerror(errno)); + + err = btrfs_util_f_delete_subvolume(fd, vname, 0); + if (err) { + error_btrfs_util(err); ret = 1; goto out; } -- 2.16.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html