d1681e
From d6da0e0874de04c184c54147d0ee0e0370e55ff2 Mon Sep 17 00:00:00 2001
d1681e
From: N Balachandran <nbalacha@redhat.com>
d1681e
Date: Mon, 2 Apr 2018 09:11:06 +0530
d1681e
Subject: [PATCH 215/236] cluster/dht: ENOSPC will not fail rebalance
d1681e
d1681e
ENOSPC returned by a file migration is no longer
d1681e
considered a rebalance failure.
d1681e
d1681e
upstream: https://review.gluster.org/#/c/19806/
d1681e
d1681e
> Change-Id: I21cf3a8acdc827bc478e138d6cb5db649d53a28c
d1681e
> BUG: 1555161
d1681e
> Signed-off-by: N Balachandran <nbalacha@redhat.com>
d1681e
d1681e
Change-Id: I22f90194507331e981fbcd10b2cafced6fc05cc2
d1681e
BUG: 1546941
d1681e
Signed-off-by: N Balachandran <nbalacha@redhat.com>
d1681e
Reviewed-on: https://code.engineering.redhat.com/gerrit/134252
d1681e
Tested-by: RHGS Build Bot <nigelb@redhat.com>
d1681e
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
d1681e
---
d1681e
 xlators/cluster/dht/src/dht-rebalance.c | 12 +++---------
d1681e
 1 file changed, 3 insertions(+), 9 deletions(-)
d1681e
d1681e
diff --git a/xlators/cluster/dht/src/dht-rebalance.c b/xlators/cluster/dht/src/dht-rebalance.c
d1681e
index 9e31ff8..bba44b9 100644
d1681e
--- a/xlators/cluster/dht/src/dht-rebalance.c
d1681e
+++ b/xlators/cluster/dht/src/dht-rebalance.c
d1681e
@@ -2392,10 +2392,11 @@ dht_build_root_loc (inode_t *inode, loc_t *loc)
d1681e
 int32_t
d1681e
 gf_defrag_handle_migrate_error (int32_t op_errno, gf_defrag_info_t *defrag)
d1681e
 {
d1681e
-        /* if errno is not ENOSPC or ENOTCONN, we can still continue
d1681e
+        /* if errno is not ENOTCONN, we can still continue
d1681e
            with rebalance process */
d1681e
-        if ((op_errno != ENOSPC) && (op_errno != ENOTCONN))
d1681e
+        if (op_errno != ENOTCONN) {
d1681e
                 return 1;
d1681e
+        }
d1681e
 
d1681e
         if (op_errno == ENOTCONN) {
d1681e
                 /* Most probably mount point went missing (mostly due
d1681e
@@ -2405,13 +2406,6 @@ gf_defrag_handle_migrate_error (int32_t op_errno, gf_defrag_info_t *defrag)
d1681e
                 return -1;
d1681e
         }
d1681e
 
d1681e
-        if (op_errno == ENOSPC) {
d1681e
-                /* rebalance process itself failed, may be
d1681e
-                   remote brick went down, or write failed due to
d1681e
-                   disk full etc etc.. */
d1681e
-                return 0;
d1681e
-        }
d1681e
-
d1681e
         return 0;
d1681e
 }
d1681e
 
d1681e
-- 
d1681e
1.8.3.1
d1681e