btrfs-progs: format FREE_SPACE_TREE{,_VALID} nicely in dump-super
[platform/upstream/btrfs-progs.git] / cmds-quota.c
index 8adc1bf..75c032b 100644 (file)
@@ -45,18 +45,15 @@ static int quota_ctl(int cmd, int argc, char **argv)
        memset(&args, 0, sizeof(args));
        args.cmd = cmd;
 
-       fd = open_file_or_dir(path, &dirstream);
-       if (fd < 0) {
-               fprintf(stderr, "ERROR: can't access '%s'\n", path);
+       fd = btrfs_open_dir(path, &dirstream, 1);
+       if (fd < 0)
                return 1;
-       }
 
        ret = ioctl(fd, BTRFS_IOC_QUOTA_CTL, &args);
        e = errno;
        close_file_or_dir(fd, dirstream);
        if (ret < 0) {
-               fprintf(stderr, "ERROR: quota command failed: %s\n",
-                       strerror(e));
+               error("quota command failed: %s", strerror(e));
                return 1;
        }
        return 0;
@@ -73,7 +70,12 @@ static const char * const cmd_quota_enable_usage[] = {
 
 static int cmd_quota_enable(int argc, char **argv)
 {
-       int ret = quota_ctl(BTRFS_QUOTA_CTL_ENABLE, argc, argv);
+       int ret;
+
+       clean_args_no_options(argc, argv, cmd_quota_enable_usage);
+
+       ret = quota_ctl(BTRFS_QUOTA_CTL_ENABLE, argc, argv);
+
        if (ret < 0)
                usage(cmd_quota_enable_usage);
        return ret;
@@ -87,7 +89,12 @@ static const char * const cmd_quota_disable_usage[] = {
 
 static int cmd_quota_disable(int argc, char **argv)
 {
-       int ret = quota_ctl(BTRFS_QUOTA_CTL_DISABLE, argc, argv);
+       int ret;
+
+       clean_args_no_options(argc, argv, cmd_quota_disable_usage);
+
+       ret = quota_ctl(BTRFS_QUOTA_CTL_DISABLE, argc, argv);
+
        if (ret < 0)
                usage(cmd_quota_disable_usage);
        return ret;
@@ -113,7 +120,6 @@ static int cmd_quota_rescan(int argc, char **argv)
        DIR *dirstream = NULL;
        int wait_for_completion = 0;
 
-       optind = 1;
        while (1) {
                int c = getopt(argc, argv, "sw");
                if (c < 0)
@@ -131,7 +137,7 @@ static int cmd_quota_rescan(int argc, char **argv)
        }
 
        if (ioctlnum != BTRFS_IOC_QUOTA_RESCAN && wait_for_completion) {
-               fprintf(stderr, "ERROR: -w cannot be used with -s\n");
+               error("switch -w cannot be used with -s");
                return 1;
        }
 
@@ -141,11 +147,9 @@ static int cmd_quota_rescan(int argc, char **argv)
        memset(&args, 0, sizeof(args));
 
        path = argv[optind];
-       fd = open_file_or_dir(path, &dirstream);
-       if (fd < 0) {
-               fprintf(stderr, "ERROR: can't access '%s'\n", path);
+       fd = btrfs_open_dir(path, &dirstream, 1);
+       if (fd < 0)
                return 1;
-       }
 
        ret = ioctl(fd, ioctlnum, &args);
        e = errno;
@@ -158,8 +162,7 @@ static int cmd_quota_rescan(int argc, char **argv)
 
        if (ioctlnum == BTRFS_IOC_QUOTA_RESCAN) {
                if (ret < 0) {
-                       fprintf(stderr, "ERROR: quota rescan failed: "
-                               "%s\n", strerror(e));
+                       error("quota rescan failed: %s", strerror(e));
                        return 1;
                }  else {
                        printf("quota rescan started\n");