From 7610cbf729003952f76fddf67439fc0499139ff6 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Fri, 20 Jan 2017 17:52:12 +0100 Subject: [PATCH] btrfs-progs: qgroup show: refine error messages When qgroup show is called on a filesystem that does not have quotas enabled, the error message is very unclear: ERROR: can't perform the search - No such file or directory ERROR: can't list qgroups: No such file or director Remove the error from low level helper and let the command handler decide what to print. Signed-off-by: David Sterba --- cmds-qgroup.c | 6 ++++-- qgroup.c | 6 ++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cmds-qgroup.c b/cmds-qgroup.c index 59a5926b..d0f10dd4 100644 --- a/cmds-qgroup.c +++ b/cmds-qgroup.c @@ -382,9 +382,11 @@ static int cmd_qgroup_show(int argc, char **argv) qgroupid); } ret = btrfs_show_qgroups(fd, filter_set, comparer_set); - close_file_or_dir(fd, dirstream); - if (ret < 0) + if (ret == -ENOENT) + error("can't list qgroups: quotas not enabled"); + else if (ret < 0) error("can't list qgroups: %s", strerror(-ret)); + close_file_or_dir(fd, dirstream); out: return !!ret; diff --git a/qgroup.c b/qgroup.c index 21526cec..fffdbb12 100644 --- a/qgroup.c +++ b/qgroup.c @@ -1064,11 +1064,9 @@ static int __qgroups_search(int fd, struct qgroup_lookup *qgroup_lookup) while (1) { ret = ioctl(fd, BTRFS_IOC_TREE_SEARCH, &args); - if (ret < 0) { - error("cannot perform the search: %s", - strerror(errno)); + if (ret < 0) return -errno; - } + /* the ioctl returns the number of item it found in nr_items */ if (sk->nr_items == 0) break;