diff options
Diffstat (limited to 'cli/src/cli-cmd-volume.c')
-rw-r--r-- | cli/src/cli-cmd-volume.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index 7dc26144..17663091 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -1096,6 +1096,20 @@ print_quota_list_header (void) } int +cli_get_soft_limit (call_frame_t *frame, cli_local_t *local, dict_t *options, + const char **words) +{ + rpc_clnt_procedure_t *proc = NULL; + int ret = -1; + + CLI_LOCAL_INIT (local, words, frame, options); + proc = &cli_rpc_prog->proctable[GLUSTER_CLI_QUOTA]; + ret = proc->fn (frame, THIS, options); + + return ret; +} + +int cli_cmd_quota_cbk (struct cli_state *state, struct cli_cmd_word *word, const char **words, int wordcount) { @@ -1112,6 +1126,7 @@ cli_cmd_quota_cbk (struct cli_state *state, struct cli_cmd_word *word, char *volname = NULL; dict_t *xdata = NULL; char buf[256] = {0}; + FILE *fp = NULL; const char *question = "Disabling quota will delete all the quota " "configuration. Do you want to continue?"; @@ -1152,6 +1167,12 @@ cli_cmd_quota_cbk (struct cli_state *state, struct cli_cmd_word *word, goto out; } if (type == GF_QUOTA_OPTION_TYPE_LIST && wordcount == 4) { + ret = cli_get_soft_limit (frame, local, options, words); + if (ret) { + gf_log ("cli", GF_LOG_ERROR, "Failed to fetch default " + "soft-limit"); + goto out; + } proc = &cli_quotad_clnt.proctable[GF_AGGREGATOR_GETLIMIT]; xdata = dict_new (); if (!xdata) { @@ -1166,7 +1187,6 @@ cli_cmd_quota_cbk (struct cli_state *state, struct cli_cmd_word *word, //TODO: fix hardcoding sprintf (quota_conf_file, "/var/lib/glusterd/vols/%s/quota.conf", volname); - FILE *fp = NULL; fp = fopen (quota_conf_file, "r"); if (!fp) { gf_log ("cli", GF_LOG_ERROR, "Failed to open quota.conf"); @@ -1197,6 +1217,8 @@ cli_cmd_quota_cbk (struct cli_state *state, struct cli_cmd_word *word, ret = proc->fn (frame, THIS, options); out: + if (fp) + fclose (fp); if (ret) { cli_cmd_sent_status_get (&sent); if (sent == 0 && parse_err == 0) |