summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr
diff options
context:
space:
mode:
authorAnand Avati <avati@gluster.com>2011-08-19 14:56:13 +0530
committerAnand Avati <avati@gluster.com>2011-08-19 03:06:19 -0700
commitdd2c197c1d5d5942a65c860997ec1d5793ef249f (patch)
treeb64d3d9af03c042f2da4a9f7cb349d5a0f8bb508 /xlators/cluster/afr
parent0143a2ef653d0f7a337c8220f127655dadbca942 (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>
Diffstat (limited to 'xlators/cluster/afr')
-rw-r--r--xlators/cluster/afr/src/afr.c15
1 files changed, 15 insertions, 0 deletions
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);