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;
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;
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;
DIR *dirstream = NULL;
int wait_for_completion = 0;
- optind = 1;
while (1) {
int c = getopt(argc, argv, "sw");
if (c < 0)
}
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;
}
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;
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");