summaryrefslogtreecommitdiffstats
path: root/xlators/protocol/client/src/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/protocol/client/src/client.c')
-rw-r--r--xlators/protocol/client/src/client.c35
1 files changed, 27 insertions, 8 deletions
diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c
index b703b88f4b7..84f3778393f 100644
--- a/xlators/protocol/client/src/client.c
+++ b/xlators/protocol/client/src/client.c
@@ -1769,14 +1769,18 @@ int
reconfigure (xlator_t *this, dict_t *options)
{
int ret = 0;
- int timeout_ret=0;
- int ping_timeout;
- int frame_timeout;
+ int timeout_ret = 0;
+ int ping_timeout = 0;
+ int frame_timeout = 0;
clnt_conf_t *conf = NULL;
+ char *old_remote_subvol = NULL;
+ char *new_remote_subvol = NULL;
+ int subvol_ret = 0;
+
+
-
conf = this->private;
-
+
timeout_ret = dict_get_int32 (options, "frame-timeout",
&frame_timeout);
if (timeout_ret == 0) {
@@ -1798,7 +1802,7 @@ reconfigure (xlator_t *this, dict_t *options)
goto out;
}
-
+
gf_log (this->name, GF_LOG_DEBUG,
"Reconfiguring otion frame-timeout to %d",
frame_timeout);
@@ -1827,15 +1831,30 @@ reconfigure (xlator_t *this, dict_t *options)
ret = -1;
goto out;
}
-
+
gf_log (this->name, GF_LOG_DEBUG, "Reconfiguring "
"'option ping-timeout' to %d", ping_timeout);
conf->opt.ping_timeout = ping_timeout;
}
+ subvol_ret = dict_get_str (this->options, "remote-subvolume",
+ &old_remote_subvol);
+
+ if (subvol_ret == 0) {
+
+ subvol_ret = dict_get_str (options, "remote-subvolume",
+ &new_remote_subvol);
+
+ if (subvol_ret == 0) {
+ if (strcmp (old_remote_subvol, new_remote_subvol)) {
+ ret = 1;
+ goto out;
+ }
+ }
+ }
+
out:
return ret;
-
}