diff options
Diffstat (limited to 'xlators/cluster')
-rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 2 | ||||
-rw-r--r-- | xlators/cluster/dht/src/dht-layout.c | 20 | ||||
-rw-r--r-- | xlators/cluster/dht/src/dht-selfheal.c | 2 |
3 files changed, 14 insertions, 10 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index 8f8d6d2a8a5..7c0c8f0581a 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -156,8 +156,6 @@ unlock: local->layout = NULL; if (ret != 0) { - layout->gen = conf->gen; - gf_log (this->name, GF_LOG_DEBUG, "fixing assignment on %s", local->loc.path); diff --git a/xlators/cluster/dht/src/dht-layout.c b/xlators/cluster/dht/src/dht-layout.c index 3f78ad31ae3..f2e3de14b6e 100644 --- a/xlators/cluster/dht/src/dht-layout.c +++ b/xlators/cluster/dht/src/dht-layout.c @@ -39,8 +39,11 @@ dht_layout_t * dht_layout_new (xlator_t *this, int cnt) { dht_layout_t *layout = NULL; + dht_conf_t *conf = NULL; + conf = this->private; + layout = CALLOC (1, layout_size (cnt)); if (!layout) { gf_log (this->name, GF_LOG_ERROR, @@ -49,7 +52,8 @@ dht_layout_new (xlator_t *this, int cnt) } layout->cnt = cnt; - + if (conf) + layout->gen = conf->gen; out: return layout; } @@ -257,7 +261,7 @@ dht_layout_merge (xlator_t *this, dht_layout_t *layout, xlator_t *subvol, if (ret != 0) { layout->list[i].err = -1; - gf_log (this->name, GF_LOG_DEBUG, + gf_log (this->name, GF_LOG_TRACE, "missing disk layout on %s. err = %d", subvol->name, err); ret = 0; @@ -495,12 +499,14 @@ dht_layout_normalize (xlator_t *this, loc_t *loc, dht_layout_t *layout) /* TODO During DHT selfheal rewrite (almost) find a better place to * detect this - probably in dht_layout_anomalies() */ - if (layout->list[i].err == ENOENT) { + if (layout->list[i].err > 0) { gf_log (this->name, GF_LOG_DEBUG, - "path=%s ENOENT - directory entry" - " should be created in selfheal", loc->path); - ret = 1; - break; + "path=%s err=%s on subvol=%s", + loc->path, strerror (layout->list[i].err), + (layout->list[i].xlator ? + layout->list[i].xlator->name : "<>")); + if (layout->list[i].err == ENOENT) + ret = 1; } } diff --git a/xlators/cluster/dht/src/dht-selfheal.c b/xlators/cluster/dht/src/dht-selfheal.c index 57b956ac390..df8b2047b2b 100644 --- a/xlators/cluster/dht/src/dht-selfheal.c +++ b/xlators/cluster/dht/src/dht-selfheal.c @@ -169,7 +169,7 @@ dht_selfheal_dir_xattr (call_frame_t *frame, loc_t *loc, dht_layout_t *layout) missing_xattr++; } - gf_log (this->name, GF_LOG_DEBUG, + gf_log (this->name, GF_LOG_TRACE, "%d subvolumes missing xattr for %s", missing_xattr, loc->path); |