diff options
author | Anand Avati <avati@gluster.com> | 2011-08-19 14:56:13 +0530 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2011-08-19 03:06:19 -0700 |
commit | dd2c197c1d5d5942a65c860997ec1d5793ef249f (patch) | |
tree | b64d3d9af03c042f2da4a9f7cb349d5a0f8bb508 | |
parent | 0143a2ef653d0f7a337c8220f127655dadbca942 (diff) |
option validation: further fixes
fixes in option handling changes
Change-Id: I0a44cdb088e3f08cd43d583a580736d0903fa88c
BUG: 3415
Reviewed-on: http://review.gluster.com/261
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
-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 37302e0da..dee3c9185 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 289a27d60..903060f49 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 1eff4385a..361c90d7e 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 355b0d160..c0d52488a 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 }, |