diff options
author | Jeff Darcy <jdarcy@fb.com> | 2017-08-31 12:33:59 -0700 |
---|---|---|
committer | Jeff Darcy <jdarcy@fb.com> | 2017-08-31 12:33:59 -0700 |
commit | ed23e379ee397b3fed479c15b7551d2dbba9a05f (patch) | |
tree | fe9bc23b851e0ee5502a48f1362b3ef9b10052f3 /cli/src/cli-rpc-ops.c | |
parent | f2d57485d57e14a064c9ca6e83fe6c92131a8e37 (diff) | |
parent | d174f021a4e0667e60ce6abc038106ad9b74dc74 (diff) |
Merge remote-tracking branch 'origin/release-3.8' into release-3.8-fb
Change-Id: Ie35cd1c8c7808949ddf79b3189f1f8bf0ff70ed8
Diffstat (limited to 'cli/src/cli-rpc-ops.c')
-rw-r--r-- | cli/src/cli-rpc-ops.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 602d3ff1611..07a63364ebe 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -3400,6 +3400,26 @@ out: } int +gluster_remove_auxiliary_mount (char *volname) +{ + int ret = -1; + char mountdir[PATH_MAX] = {0,}; + xlator_t *this = NULL; + + this = THIS; + GF_ASSERT (this); + + GLUSTERD_GET_QUOTA_LIST_MOUNT_PATH (mountdir, volname, "/"); + ret = gf_umount_lazy (this->name, mountdir, 1); + if (ret) { + gf_log("cli", GF_LOG_ERROR, "umount on %s failed, " + "reason : %s", mountdir, strerror (errno)); + } + + return ret; +} + +int gf_cli_print_limit_list_from_dict (cli_local_t *local, char *volname, dict_t *dict, char *default_sl, int count, int op_ret, int op_errno, char *op_errstr) @@ -3447,7 +3467,7 @@ gf_cli_print_limit_list_from_dict (cli_local_t *local, char *volname, ret = gf_canonicalize_path (path); if (ret) goto out; - GLUSTERD_GET_QUOTA_AUX_MOUNT_PATH (mountdir, volname, path); + GLUSTERD_GET_QUOTA_LIST_MOUNT_PATH (mountdir, volname, path); ret = print_quota_list_from_mountdir (local, mountdir, default_sl, path, type); } @@ -3930,6 +3950,7 @@ gf_cli_quota_cbk (struct rpc_req *req, struct iovec *iov, } xml_output: + if (global_state->mode & GLUSTER_MODE_XML) { ret = cli_xml_output_str ("volQuota", NULL, rsp.op_ret, rsp.op_errno, rsp.op_errstr); @@ -3945,6 +3966,12 @@ xml_output: ret = rsp.op_ret; out: + + if ((type == GF_QUOTA_OPTION_TYPE_LIST) + || (type == GF_QUOTA_OPTION_TYPE_LIST_OBJECTS)) { + gluster_remove_auxiliary_mount (volname); + } + cli_cmd_broadcast_response (ret); if (dict) dict_unref (dict); |