summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/cluster/afr/src/afr-common.c')
-rw-r--r--xlators/cluster/afr/src/afr-common.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c
index aa88d609837..30986b589c8 100644
--- a/xlators/cluster/afr/src/afr-common.c
+++ b/xlators/cluster/afr/src/afr-common.c
@@ -700,7 +700,7 @@ afr_lookup_set_read_child (xlator_t *this, afr_local_t *local)
if (!sh->sources)
goto out;
- read_child = priv->read_child;
+ read_child = local->read_child_index;
if (afr_is_valid_read_child (sh->sources, priv->child_count,
read_child))
goto out;
@@ -931,6 +931,8 @@ afr_fresh_lookup_cbk (call_frame_t *frame, void *cookie,
afr_set_read_child (this,
local->cont.lookup.inode,
child_index);
+ //prefer fast child
+ local->read_child_index = child_index;
}
} else {