diff options
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-op-sm.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index 11b16e216ec..d94339dd929 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -2536,6 +2536,15 @@ out: return ret; } +/* This is a hack to prevent client-io-threads from being loaded in the graph + * when the cluster-op-version is bumped up from 3.8.x to 3.13.x. The key is + * deleted subsequently in glusterd_create_volfiles(). */ +static int +glusterd_dict_set_skip_cliot_key (glusterd_volinfo_t *volinfo) +{ + return dict_set_int32 (volinfo->dict, "skip-CLIOT", 1); +} + static int glusterd_op_set_all_volume_options (xlator_t *this, dict_t *dict, char **op_errstr) @@ -2625,6 +2634,10 @@ glusterd_op_set_all_volume_options (xlator_t *this, dict_t *dict, ret = glusterd_update_volumes_dict (volinfo); if (ret) goto out; + + if (glusterd_dict_set_skip_cliot_key (volinfo)) + goto out; + if (!volinfo->is_snap_volume) { svc = &(volinfo->snapd.svc); ret = svc->manager (svc, volinfo, |