diff options
| -rw-r--r-- | libglusterfs/src/options.c | 7 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr.c | 15 | ||||
| -rw-r--r-- | xlators/performance/write-behind/src/write-behind.c | 2 | ||||
| -rw-r--r-- | xlators/protocol/client/src/client.c | 3 | 
4 files changed, 22 insertions, 5 deletions
diff --git a/libglusterfs/src/options.c b/libglusterfs/src/options.c index 37302e0daec..dee3c91854f 100644 --- a/libglusterfs/src/options.c +++ b/libglusterfs/src/options.c @@ -501,14 +501,13 @@ xlator_option_validate_addr (xlator_t *xl, const char *key, const char *value,          if (!valid_internet_address ((char *)value)) {                  snprintf (errstr, 256, -                          "internet address '%s'  does not conform to standards.", +                          "internet address '%s' does not conform to standards.",                            value);                  gf_log (xl->name, GF_LOG_ERROR, "%s", errstr); +                if (op_errstr) +                        *op_errstr = gf_strdup (errstr);          } -        if (ret && op_errstr) -                *op_errstr = gf_strdup (errstr); -          ret = 0;          return ret; diff --git a/xlators/cluster/afr/src/afr.c b/xlators/cluster/afr/src/afr.c index 289a27d6079..903060f4934 100644 --- a/xlators/cluster/afr/src/afr.c +++ b/xlators/cluster/afr/src/afr.c @@ -87,6 +87,18 @@ xlator_subvolume_index (xlator_t *this, xlator_t *subvol)  int +xlator_subvolume_count (xlator_t *this) +{ +        int i = 0; +        xlator_list_t *list = NULL; + +        for (list = this->children; list; list = list->next) +                i++; +        return i; +} + + +int  reconfigure (xlator_t *this, dict_t *options)  {          afr_private_t * priv        = NULL; @@ -186,6 +198,7 @@ init (xlator_t *this)          priv = this->private;          priv->read_child = -1; +          GF_OPTION_INIT ("read-subvolume", read_subvol, xlator, out);          if (read_subvol) {                  priv->read_child = xlator_subvolume_index (this, read_subvol); @@ -245,6 +258,8 @@ init (xlator_t *this)          priv->wait_count = 1; +        child_count = xlator_subvolume_count (this); +          priv->child_count = child_count;          LOCK_INIT (&priv->lock); diff --git a/xlators/performance/write-behind/src/write-behind.c b/xlators/performance/write-behind/src/write-behind.c index 1eff4385ae3..361c90d7eb2 100644 --- a/xlators/performance/write-behind/src/write-behind.c +++ b/xlators/performance/write-behind/src/write-behind.c @@ -3035,7 +3035,7 @@ struct volume_options options[] = {          },          { .key = {"disable-for-first-nbytes"},            .type = GF_OPTION_TYPE_SIZET, -          .min = 1, +          .min = 0,            .max = 1 * GF_UNIT_MB,            .default_value = "0",          }, diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c index 355b0d16043..c0d52488a9c 100644 --- a/xlators/protocol/client/src/client.c +++ b/xlators/protocol/client/src/client.c @@ -2365,6 +2365,9 @@ struct volume_options options[] = {          { .key   = {"remote-host"},            .type  = GF_OPTION_TYPE_INTERNET_ADDRESS          }, +        { .key   = {"remote-port"}, +          .type  = GF_OPTION_TYPE_INT, +        },          { .key   = {"remote-subvolume"},            .type  = GF_OPTION_TYPE_ANY          },  | 
