summaryrefslogtreecommitdiffstats
path: root/cli/src/cli-cmd-volume.c
diff options
context:
space:
mode:
authorvmallika <vmallika@redhat.com>2016-04-14 17:51:19 +0530
committerKaushal M <kaushal@redhat.com>2016-04-25 02:32:58 -0700
commit760dfb6e8aebc44b419e8943e4e3895591097b8b (patch)
tree25d15ed56dc389e2321c98af975845cc8f4aeaa2 /cli/src/cli-cmd-volume.c
parentfe6c4efcc66bca84aaceb352de38f0b58b70b780 (diff)
cli/quota: Sort the list output alphabetically by path
Change-Id: I0b124e119d167817be2ae3eb52ac6c80fc7db5d1 BUG: 1320716 Signed-off-by: vmallika <vmallika@redhat.com> Reviewed-on: http://review.gluster.org/14000 Smoke: Gluster Build System <jenkins@build.gluster.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaushal M <kaushal@redhat.com>
Diffstat (limited to 'cli/src/cli-cmd-volume.c')
-rw-r--r--cli/src/cli-cmd-volume.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c
index 5a153c68f6b..f5ee1b14544 100644
--- a/cli/src/cli-cmd-volume.c
+++ b/cli/src/cli-cmd-volume.c
@@ -1226,6 +1226,7 @@ cli_cmd_quota_handle_list_all (const char **words, dict_t *options)
int32_t type = 0;
char gfid_type = 0;
float version = 0.0f;
+ int32_t max_count = 0;
xdata = dict_new ();
if (!xdata) {
@@ -1321,6 +1322,41 @@ cli_cmd_quota_handle_list_all (const char **words, dict_t *options)
ret = -1;
goto out;
}
+
+ for (count = 0;; count++) {
+ ret = quota_conf_read_gfid (fd, buf, &gfid_type, version);
+ if (ret == 0) {
+ break;
+ } else if (ret < 0) {
+ gf_log (THIS->name, GF_LOG_CRITICAL, "Quota "
+ "configuration store may be corrupt.");
+ goto out;
+ }
+
+ if ((type == GF_QUOTA_OPTION_TYPE_LIST &&
+ gfid_type == GF_QUOTA_CONF_TYPE_OBJECTS) ||
+ (type == GF_QUOTA_OPTION_TYPE_LIST_OBJECTS &&
+ gfid_type == GF_QUOTA_CONF_TYPE_USAGE))
+ continue;
+
+ max_count++;
+ }
+ ret = dict_set_int32 (xdata, "max_count", max_count);
+ if (ret) {
+ gf_log ("cli", GF_LOG_ERROR, "Failed to set max_count");
+ goto out;
+ }
+
+ ret = sys_lseek (fd, 0L, SEEK_SET);
+ if (ret < 0) {
+ gf_log (THIS->name, GF_LOG_ERROR, "failed to move offset to "
+ "the beginning: %s", strerror (errno));
+ goto out;
+ }
+ ret = quota_conf_read_version (fd, &version);
+ if (ret)
+ goto out;
+
for (count = 0;; count++) {
ret = quota_conf_read_gfid (fd, buf, &gfid_type, version);
if (ret == 0) {