e3c68b
From c0efaa98d777e4520028bf55482846b3ef5fca3a Mon Sep 17 00:00:00 2001
e3c68b
From: Susant Palai <spalai@redhat.com>
e3c68b
Date: Wed, 1 Apr 2020 12:14:31 +0530
e3c68b
Subject: [PATCH 359/362] dht: gf_defrag_process_dir is called even if
e3c68b
 gf_defrag_fix_layout has failed
e3c68b
e3c68b
Currently even though gf_defrag_fix_layout fails with ENOENT or ESTALE, a
e3c68b
subsequent call is made to gf_defrag_process_dir leading to rebalance failure.
e3c68b
e3c68b
upstream patch: https://review.gluster.org/#/c/glusterfs/+/24225
e3c68b
e3c68b
> fixes: #1102
e3c68b
> Change-Id: Ib0c309fd78e89a000fed3feb4bbe2c5b48e61478
e3c68b
> Signed-off-by: Susant Palai <spalai@redhat.com>
e3c68b
e3c68b
BUG: 1812789
e3c68b
Change-Id: Ib0c309fd78e89a000fed3feb4bbe2c5b48e61478
e3c68b
Signed-off-by: Susant Palai <spalai@redhat.com>
e3c68b
Reviewed-on: https://code.engineering.redhat.com/gerrit/196249
e3c68b
Reviewed-by: Mohit Agrawal <moagrawa@redhat.com>
e3c68b
Tested-by: RHGS Build Bot <nigelb@redhat.com>
e3c68b
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
e3c68b
---
e3c68b
 xlators/cluster/dht/src/dht-rebalance.c | 1 +
e3c68b
 1 file changed, 1 insertion(+)
e3c68b
e3c68b
diff --git a/xlators/cluster/dht/src/dht-rebalance.c b/xlators/cluster/dht/src/dht-rebalance.c
e3c68b
index 559f046..f4c62b8 100644
e3c68b
--- a/xlators/cluster/dht/src/dht-rebalance.c
e3c68b
+++ b/xlators/cluster/dht/src/dht-rebalance.c
e3c68b
@@ -3939,6 +3939,7 @@ gf_defrag_fix_layout(xlator_t *this, gf_defrag_info_t *defrag, loc_t *loc,
e3c68b
                 defrag->total_failures++;
e3c68b
             }
e3c68b
             ret = 0;
e3c68b
+            goto out;
e3c68b
         } else {
e3c68b
             gf_msg(this->name, GF_LOG_ERROR, -ret, DHT_MSG_LAYOUT_FIX_FAILED,
e3c68b
                    "Setxattr failed for %s", loc->path);
e3c68b
-- 
e3c68b
1.8.3.1
e3c68b