d1681e
From 5d649e42f6566f6f2f3425298cfee48d170ab4ea Mon Sep 17 00:00:00 2001
d1681e
From: N Balachandran <nbalacha@redhat.com>
d1681e
Date: Wed, 16 May 2018 18:15:02 +0530
d1681e
Subject: [PATCH 282/282] cluster/dht: Remove EIO from dht_inode_missing
d1681e
d1681e
Removed EIO from the list of errnos that triggered
d1681e
a migrate check task.
d1681e
d1681e
upstream patch: https://review.gluster.org/#/c/20028/
d1681e
d1681e
> Change-Id: I7f89c7a16056421588f1af2377cebe6affddcb47
d1681e
> fixes: bz#1578823
d1681e
> Signed-off-by: N Balachandran <nbalacha@redhat.com>
d1681e
d1681e
Change-Id: I1962f0db916af71d2903814dc01f0c0809e57ce7
d1681e
BUG: 1580344
d1681e
Signed-off-by: N Balachandran <nbalacha@redhat.com>
d1681e
Reviewed-on: https://code.engineering.redhat.com/gerrit/139188
d1681e
Tested-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
d1681e
Tested-by: RHGS Build Bot <nigelb@redhat.com>
d1681e
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
d1681e
---
d1681e
 xlators/cluster/dht/src/dht-common.h     | 4 +---
d1681e
 xlators/cluster/dht/src/dht-inode-read.c | 2 +-
d1681e
 2 files changed, 2 insertions(+), 4 deletions(-)
d1681e
d1681e
diff --git a/xlators/cluster/dht/src/dht-common.h b/xlators/cluster/dht/src/dht-common.h
d1681e
index 10b7c7e..a70342f 100644
d1681e
--- a/xlators/cluster/dht/src/dht-common.h
d1681e
+++ b/xlators/cluster/dht/src/dht-common.h
d1681e
@@ -795,9 +795,7 @@ typedef struct dht_fd_ctx {
d1681e
                 }                                               \
d1681e
         } while (0)
d1681e
 
d1681e
-#define dht_inode_missing(op_errno) (op_errno == ENOENT || op_errno == ESTALE \
d1681e
-                                     || op_errno == EIO) \
d1681e
-/*Bad fix. Please revert the commit after fixing the bug 1329505*/
d1681e
+#define dht_inode_missing(op_errno) (op_errno == ENOENT || op_errno == ESTALE)
d1681e
 
d1681e
 #define check_is_dir(i,s,x) (IA_ISDIR(s->ia_type))
d1681e
 
d1681e
diff --git a/xlators/cluster/dht/src/dht-inode-read.c b/xlators/cluster/dht/src/dht-inode-read.c
d1681e
index d1895eb..7e4aef4 100644
d1681e
--- a/xlators/cluster/dht/src/dht-inode-read.c
d1681e
+++ b/xlators/cluster/dht/src/dht-inode-read.c
d1681e
@@ -78,7 +78,7 @@ dht_open2 (xlator_t *this, xlator_t *subvol, call_frame_t *frame, int ret)
d1681e
                 goto out;
d1681e
 
d1681e
         local = frame->local;
d1681e
-        op_errno = ENOENT;
d1681e
+        op_errno = local->op_errno;
d1681e
 
d1681e
         if (we_are_not_migrating (ret)) {
d1681e
                 /* This DHT layer is not migrating the file */
d1681e
-- 
d1681e
1.8.3.1
d1681e