diff options
author | Atin Mukherjee <amukherj@redhat.com> | 2015-09-14 17:09:29 +0530 |
---|---|---|
committer | Jeff Darcy <jdarcy@redhat.com> | 2015-10-28 06:39:13 -0700 |
commit | e831f6101ac7ea2e73f410c17d74b78e5472b75c (patch) | |
tree | 33f6cb0a6a8df229ac09405c2b7d43e501275658 | |
parent | 6fcccc0af61b4e11ed9deeb0e4357d0fcfe8401b (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.c | 7 |
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; |