[Gluster-devel] layout is missing when add-brick is done, new created files only locate on old bricks

Jiale Gao fevergao at gmail.com
Wed Mar 5 01:50:30 UTC 2014


Hi all,
     Root's layout is missing when add-brick id done,and the new created 
files only locate on old bricks.
     See the bug:https://bugzilla.redhat.com/show_bug.cgi?id=1070573
     I want to kown why the layout->list[i].err in dht_layout_merge is 
set to 0 if there if a missing disk layout.Whats more,Should we detect 
missing layout in dht_layout_anomalies to enter selfheal directory?
     So my change is the next:
     diff --git a/xlators/cluster/dht/src/dht-layout.c 
b/xlators/cluster/dht/src/dht-layout.c
index 31d85a5..fe25568 100644
--- a/xlators/cluster/dht/src/dht-layout.c
+++ b/xlators/cluster/dht/src/dht-layout.c
@@ -366,7 +366,6 @@ dht_layout_merge (xlator_t *this, dht_layout_t 
*layout, xlator_t *subvol,
          }

          if (ret != 0) {
-                layout->list[i].err = 0;
                  gf_log (this->name, GF_LOG_TRACE,
                          "missing disk layout on %s. err = %d",
                          subvol->name, err);
@@ -556,7 +555,7 @@ dht_layout_anomalies (xlator_t *this, loc_t *loc, 
dht_layout_t *layout,
                  case ENOENT:
                  case ESTALE:
                          missing++;
-                        continue;
+                        break;
                  case ENOTCONN:
                          down++;
                          continue;
Gao

-- 
With kind regards,
Jiale Gao
E-mail:fevergao at gmail.com





More information about the Gluster-devel mailing list