Blob Blame History Raw
From a2ee0b12f2296ef5148f7a67a4b4ce9ef25c7b0b Mon Sep 17 00:00:00 2001
From: Mohammed Rafi KC <rkavunga@redhat.com>
Date: Fri, 22 Apr 2016 12:07:31 +0530
Subject: [PATCH 101/104] tier/dht: check for rebalance completion for EIO error

When an ongoing rebalance completion check task been
triggered by dht, there is a possibility of a race
between afr setting subvol as non-readable and dht updates
the cached subvol. In this window a write can fail with EIO.

Back port of>
>Change-Id: I42638e6d4104c0dbe893d1bc73e1366188458c5d
>BUG: 1329503
>Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
>Reviewed-on: http://review.gluster.org/14049
>NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
>Smoke: Gluster Build System <jenkins@build.gluster.com>
>CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
>Reviewed-by: N Balachandran <nbalacha@redhat.com>
>Reviewed-by: Jeff Darcy <jdarcy@redhat.com>

>(cherry picked from commit a9ccd0c8ea6989c72073028b296f73a6fcb6b896)
>Change-Id: Ifc741f05a9cfe5c1d9c03085312ebbf21b8b798b
>BUG: 1330428
>Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
>Reviewed-on: http://review.gluster.org/14070
>Smoke: Gluster Build System <jenkins@build.gluster.com>
>NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
>CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
>Reviewed-by: N Balachandran <nbalacha@redhat.com>
>Reviewed-by: Raghavendra G <rgowdapp@redhat.com>

Change-Id: Iadbbd7920ee8fc982cad43a8c18ef7dab43e7c89
BUG: 1326248
Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/73260
Reviewed-by: Susant Palai <spalai@redhat.com>
Reviewed-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
Tested-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
---
 xlators/cluster/dht/src/dht-common.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/xlators/cluster/dht/src/dht-common.h b/xlators/cluster/dht/src/dht-common.h
index 431a6d5..369b7d4 100644
--- a/xlators/cluster/dht/src/dht-common.h
+++ b/xlators/cluster/dht/src/dht-common.h
@@ -617,7 +617,9 @@ typedef struct dht_fd_ctx {
                 }                                               \
         } while (0)
 
-#define dht_inode_missing(op_errno) (op_errno == ENOENT || op_errno == ESTALE)
+#define dht_inode_missing(op_errno) (op_errno == ENOENT || op_errno == ESTALE \
+                                     || op_errno == EIO) \
+/*Bad fix. Please revert the commit after fixing the bug 1329505*/
 
 #define check_is_dir(i,s,x) (IA_ISDIR(s->ia_type))
 
-- 
1.7.1