summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorMeghana Madhusudhan <mmadhusu@redhat.com>2015-04-10 19:14:42 +0530
committerKaleb KEITHLEY <kkeithle@redhat.com>2015-04-13 10:36:58 +0000
commitdbd9bd7b2d806163f9bb069ec04e24d9269f769c (patch)
treefd44429596cebd50d6b29828ecb95556ebc1341c /xlators
parentb5d7faa96b5ca44be6899c6976691e0fde7d70d1 (diff)
NFS-Ganesha : Fixing HA script invocation and others
gluster features.ganesha disable failed invariably. And also, there were problems in unexporting volumes dynamically.Fixed the above problems. Change-Id: I29aa289dc8dc7b39fe0fd9d3098a02097ca8ca0c BUG: 1207629 Signed-off-by: Meghana Madhusudhan <mmadhusu@redhat.com> Reviewed-on: http://review.gluster.org/10199 Reviewed-by: jiffin tony Thottan <jthottan@redhat.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Tested-by: NetBSD Build System
Diffstat (limited to 'xlators')
-rw-r--r--xlators/features/ganesha/src/ganesha.c16
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-ganesha.c15
2 files changed, 27 insertions, 4 deletions
diff --git a/xlators/features/ganesha/src/ganesha.c b/xlators/features/ganesha/src/ganesha.c
index f034fc00d46..a3d392e3ecf 100644
--- a/xlators/features/ganesha/src/ganesha.c
+++ b/xlators/features/ganesha/src/ganesha.c
@@ -18,6 +18,22 @@
#include "ganesha-mem-types.h"
+int32_t
+mem_acct_init (xlator_t *this)
+{
+ int ret = -1;
+
+ if (!this)
+ return ret;
+
+ ret = xlator_mem_acct_init (this, gf_ganesha_mt_end + 1);
+
+ if (ret != 0)
+ gf_log (this->name, GF_LOG_WARNING, "Memory accounting"
+ "init failed");
+
+ return ret;
+}
int32_t
init (xlator_t *this)
diff --git a/xlators/mgmt/glusterd/src/glusterd-ganesha.c b/xlators/mgmt/glusterd/src/glusterd-ganesha.c
index 534e332cdee..fe67be187f2 100644
--- a/xlators/mgmt/glusterd/src/glusterd-ganesha.c
+++ b/xlators/mgmt/glusterd/src/glusterd-ganesha.c
@@ -194,6 +194,7 @@ glusterd_op_set_ganesha (dict_t *dict, char **errstr)
int32_t dict_count = 0;
dict_t *vol_opts = NULL;
int count = 0;
+ char *dup = NULL;
this = THIS;
GF_ASSERT (this);
@@ -217,6 +218,12 @@ glusterd_op_set_ganesha (dict_t *dict, char **errstr)
goto out;
}
+ dup = gf_strdup (value);
+ if (!dup) {
+ ret = -1;
+ goto out;
+ }
+
ret = glusterd_handle_ganesha_op (dict, errstr, key, value);
if (ret) {
gf_log (this->name, GF_LOG_ERROR,
@@ -422,7 +429,7 @@ ganesha_manage_export (dict_t *dict, char *value, char **op_errstr)
if (ret)
gf_asprintf(op_errstr, "Dynamic export"
" addition/deletion failed."
- "Please see log file for details");
+ " Please see log file for details");
}
out:
return ret;
@@ -436,7 +443,7 @@ tear_down_cluster(void)
if (is_ganesha_host()) {
runinit (&runner);
- runner_add_args (&runner, "sh", CONFDIR,
+ runner_add_args (&runner, "sh",
GANESHA_PREFIX"/ganesha-ha.sh", "teardown",
CONFDIR, NULL);
ret = runner_run(&runner);
@@ -470,7 +477,7 @@ stop_ganesha (char **op_errstr)
ret = tear_down_cluster();
if (ret == -1) {
gf_asprintf (op_errstr, "Cleanup of NFS-Ganesha"
- "HA config failed.");
+ " HA config failed.");
goto out;
}
@@ -527,7 +534,7 @@ start_ganesha (char **op_errstr)
ret = setup_cluster();
if (ret == -1) {
gf_asprintf (op_errstr, "Failed to set up HA "
- "config for NFS-Ganesha."
+ "config for NFS-Ganesha. "
"Please check the log file for details");
goto out;
}