diff options
author | Sakshi Bansal <sabansal@redhat.com> | 2015-11-12 12:28:53 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2016-04-27 00:52:24 -0700 |
commit | fa78b755e9c58328c1df4ef1bfeb752d47534a4a (patch) | |
tree | 4dca8fb5ef77f2cb3bea1b98aa735dc0c0159a96 /xlators/cluster | |
parent | 57f66ea86a2fbf61df34b3d6854f639f437cc12b (diff) |
afr: replica pair going offline does not require CHILD_MODIFIED event
As a part of CHILD_MODIFIED event DHT forgets the current layout and
performs fresh lookup. However this is not required when a replica pair
goes offline as the xattrs can be read from other replica pairs. Hence
setting different event to handle replica pair going down.
> Backport of http://review.gluster.org/#/c/12573/
> Change-Id: I5ede2a6398e63f34f89f9d3c9bc30598974402e3
> BUG: 1281230
> Signed-off-by: Sakshi Bansal <sabansal@redhat.com>
> Reviewed-on: http://review.gluster.org/12573
> Reviewed-by: Ravishankar N <ravishankar@redhat.com>
> Reviewed-by: Susant Palai <spalai@redhat.com>
> Tested-by: NetBSD Build System <jenkins@build.gluster.org>
> Tested-by: Gluster Build System <jenkins@build.gluster.com>
> Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Change-Id: Ida30240d1ad8b8730af7ab50b129dfb05264fdf9
BUG: 1283972
Signed-off-by: Sakshi Bansal <sabansal@redhat.com>
Reviewed-on: http://review.gluster.org/12767
Smoke: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'xlators/cluster')
-rw-r--r-- | xlators/cluster/afr/src/afr-common.c | 2 | ||||
-rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c index c79ec06972a..1345d4d0bcc 100644 --- a/xlators/cluster/afr/src/afr-common.c +++ b/xlators/cluster/afr/src/afr-common.c @@ -4044,7 +4044,7 @@ afr_notify (xlator_t *this, int32_t event, "All subvolumes are down. Going offline " "until atleast one of them comes back up."); } else { - event = GF_EVENT_CHILD_MODIFIED; + event = GF_EVENT_SOME_CHILD_DOWN; } priv->last_event[idx] = event; diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index ed884b60035..555b9f9c7d6 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -8509,6 +8509,12 @@ dht_notify (xlator_t *this, int event, void *data, ...) break; + case GF_EVENT_SOME_CHILD_DOWN: + subvol = data; + propagate = 1; + + break; + case GF_EVENT_CHILD_DOWN: subvol = data; |