path: root/xlators/cluster/afr/src/afr-common.c
diff options
authorRavishankar N <>2016-12-20 07:05:02 +0530
committerPranith Kumar Karampuri <>2016-12-22 03:06:31 -0800
commit7ee998b9041d594d93a4e2ef369892c185e80def (patch)
tree50866e556985b2e316b63d5317833f355758a46b /xlators/cluster/afr/src/afr-common.c
parentde576c08ef17706d25efecff7b57cc8c0294cf6f (diff)
afr: Ignore event_generation checks post inode refresh for write txns
Before, after inode refresh, we failed read txns in case of EIO or event_generation being zero. For write transactions, the check was only for EIO. 15673 re-factored the code to fail both read and write when event_generation=0. This seems to have caused a regression as explained in the BZ. This patch restores that behaviour in afr_txn_refresh_done(). Change-Id: Ib8e116506badce6f58b55827dbe403d95069d744 BUG: 1406224 Signed-off-by: Ravishankar N <> Reviewed-on: Reviewed-by: Pranith Kumar Karampuri <> Smoke: Gluster Build System <> CentOS-regression: Gluster Build System <> NetBSD-regression: NetBSD Build System <>
Diffstat (limited to 'xlators/cluster/afr/src/afr-common.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c
index 57745c3..e151c01 100644
--- a/xlators/cluster/afr/src/afr-common.c
+++ b/xlators/cluster/afr/src/afr-common.c
@@ -1103,7 +1103,7 @@ afr_txn_refresh_done (call_frame_t *frame, xlator_t *this, int err)
- if (ret == -EIO || !event_generation) {
+ if (ret == -EIO || (local->is_read_txn && !event_generation)) {
/* No readable subvolume even after refresh ==> splitbrain.*/
if (!priv->fav_child_policy) {
err = -EIO;