summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAtin Mukherjee <amukherj@redhat.com>2015-09-14 17:09:29 +0530
committerJeff Darcy <jdarcy@redhat.com>2015-10-28 06:39:13 -0700
commite831f6101ac7ea2e73f410c17d74b78e5472b75c (patch)
tree33f6cb0a6a8df229ac09405c2b7d43e501275658
parent6fcccc0af61b4e11ed9deeb0e4357d0fcfe8401b (diff)
glusterd: call glusterd_store_volinfo in bump up op-version
After an upgrade, op-version is expected to be updated through gluster volume set. If the new version introduces any feature which changes volinfo structure without storing the default values of these new options would result into cksum issues. Backport of: >Change-Id: I57b4667f3403839811735bf66bef29e5200a9241 >BUG: 1262805 >Signed-off-by: Atin Mukherjee <amukherj@redhat.com> >Reviewed-on: http://review.gluster.org/12171 >Tested-by: Gluster Build System <jenkins@build.gluster.com> >Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> >Reviewed-by: Gaurav Kumar Garg <ggarg@redhat.com> >(cherry picked from commit c3ed484af54e32c1ef2300cda652604d75dc9d20) Change-Id: I2640a2cfce5e43a9f21ec1d7e1751327b8b8f05d BUG: 1262793 Signed-off-by: anand <anekkunt@redhat.com> Reviewed-on: http://review.gluster.org/12435 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-op-sm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
index 679a6c90f57..42a15c21430 100644
--- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c
+++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
@@ -2189,6 +2189,7 @@ glusterd_op_set_all_volume_options (xlator_t *this, dict_t *dict,
char *next_version = NULL;
gf_boolean_t quorum_action = _gf_false;
uint32_t op_version = 0;
+ glusterd_volinfo_t *volinfo = NULL;
conf = this->private;
ret = dict_get_str (dict, "key1", &key);
@@ -2241,6 +2242,12 @@ glusterd_op_set_all_volume_options (xlator_t *this, dict_t *dict,
"Failed to store op-version.");
}
}
+ cds_list_for_each_entry (volinfo, &conf->volumes, vol_list) {
+ ret = glusterd_store_volinfo
+ (volinfo, GLUSTERD_VOLINFO_VER_AC_INCREMENT);
+ if (ret)
+ goto out;
+ }
/* No need to save cluster.op-version in conf->opts
*/
goto out;