diff options
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-geo-rep.c | 43 | 
1 files changed, 43 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-geo-rep.c b/xlators/mgmt/glusterd/src/glusterd-geo-rep.c index debee9ea694..745bc282ce8 100644 --- a/xlators/mgmt/glusterd/src/glusterd-geo-rep.c +++ b/xlators/mgmt/glusterd/src/glusterd-geo-rep.c @@ -1391,6 +1391,22 @@ glusterd_op_stage_sys_exec (dict_t *dict, char **op_errstr)          char             command_path[PATH_MAX]    = "";          struct stat      st                        = {0,};          int              ret                       = -1; +        glusterd_conf_t *conf                      = NULL; +        xlator_t        *this                      = NULL; + +        this = THIS; +        GF_ASSERT (this); +        conf = this->private; +        GF_ASSERT (conf); + +        if (conf->op_version < 2) { +                gf_log ("", GF_LOG_ERROR, "Op Version not supported."); +                snprintf (errmsg, sizeof(errmsg), "One or more nodes do not" +                          " support the required op version."); +                *op_errstr = gf_strdup (errmsg); +                ret = -1; +                goto out; +        }          ret = dict_get_str (dict, "command", &command);          if (ret) { @@ -1449,6 +1465,15 @@ glusterd_op_stage_copy_file (dict_t *dict, char **op_errstr)                  goto out;          } +        if (priv->op_version < 2) { +                gf_log ("", GF_LOG_ERROR, "Op Version not supported."); +                snprintf (errmsg, sizeof(errmsg), "One or more nodes do not" +                          " support the required op version."); +                *op_errstr = gf_strdup (errmsg); +                ret = -1; +                goto out; +        } +          ret = dict_get_str (dict, "host-uuid", &host_uuid);          if (ret < 0) {                  gf_log ("", GF_LOG_ERROR, "Unable to fetch" @@ -1785,6 +1810,15 @@ glusterd_op_stage_gsync_create (dict_t *dict, char **op_errstr)                  return -1;          } +        if (conf->op_version < 2) { +                gf_log ("", GF_LOG_ERROR, "Op Version not supported."); +                snprintf (errmsg, sizeof(errmsg), "One or more nodes do not" +                          " support the required op version."); +                *op_errstr = gf_strdup (errmsg); +                ret = -1; +                goto out; +        } +          exists = glusterd_check_volume_exists (volname);          ret = glusterd_volinfo_find (volname, &volinfo);          if ((ret) || (!exists)) { @@ -2008,6 +2042,15 @@ glusterd_op_stage_gsync_set (dict_t *dict, char **op_errstr)          if (ret)                  goto out; +        if (conf->op_version < 2) { +                gf_log ("", GF_LOG_ERROR, "Op Version not supported."); +                snprintf (errmsg, sizeof(errmsg), "One or more nodes do not" +                          " support the required op version."); +               *op_errstr = gf_strdup (errmsg); +                ret = -1; +                goto out; +        } +          exists = glusterd_check_volume_exists (volname);          ret = glusterd_volinfo_find (volname, &volinfo);          if ((ret) || (!exists)) {  | 
