diff options
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 16 | 
1 files changed, 15 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index ea1400d7637..05b59950da6 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -1138,8 +1138,22 @@ glusterd_op_stage_set_volume (dict_t *dict, char **op_errstr)                                          "%s", errstr);                                  goto out;                          } -                        if (local_key_op_version > local_new_op_version) +                        if (local_key_op_version > local_new_op_version) {                                  local_new_op_version = local_key_op_version; +                        } else { +                                ret = -1; +                                snprintf (errstr, sizeof (errstr), +                                          "Required op-version (%d) should" +                                          " not be equal or lower than current" +                                          " cluster op-version (%d).", +                                          local_key_op_version, +                                          local_new_op_version); +                                gf_msg (this->name, GF_LOG_ERROR, 0, +                                        GD_MSG_VERSION_UNSUPPORTED, +                                        "%s", errstr); +                                goto out; +                        } +                          goto cont;                  }  | 
