diff options
author | Poornima G <pgurusid@redhat.com> | 2016-10-28 15:27:15 +0530 |
---|---|---|
committer | Rajesh Joseph <rjoseph@redhat.com> | 2016-11-21 01:32:05 -0800 |
commit | f7ab6c45963fa0da68acedfb14281cd2456abc68 (patch) | |
tree | 167679317da1c60ab5f61c2f444412e17e55339d /xlators/cluster/dht/src/dht-common.c | |
parent | 6b2c40d337bd30eea3ce56a71db8864e61a9a411 (diff) |
afr,dht,ec: Replace GF_EVENT_CHILD_MODIFIED with event SOME_DESCENDENT_DOWN/UP
Currently these are few events related to child_up/down:
GF_EVENT_CHILD_UP : Issued when any of the protocol client
connects.
GF_EVENT_CHILD_MODIFIED : Issued by afr/dht/ec
GF_EVENT_CHILD_DOWN : Issued when any of the protocol client
disconnects.
These events get modified at the dht/afr/ec layers. Here is a
brief on the same.
DHT:
- All the subvolumes reported once, and atleast one child came
up, then GF_EVENT_CHILD_UP is issued
- connect GF_EVENT_CHILD_UP is issued
- disconnect GF_EVENT_CHILD_MODIFIED is issued
- All the subvolumes disconnected, GF_EVENT_CHILD_DOWN is issued
AFR:
- First subvolume came up, then GF_EVENT_CHILD_UP is issued
- Subsequent subvolumes coming up, results in GF_EVENT_CHILD_MODIFIED
- Any of the subvolumes go down, then GF_EVENT_SOME_CHILD_DOWN is issued
- Last up subvolume goes down, then GF_EVENT_CHILD_DOWN is issued
Until the patch [1] introduced GF_EVENT_SOME_CHILD_UP,
GF_EVENT_CHILD_MODIFIED was issued by afr/dht when any of the subvolumes
go up or down.
Now with md-cache changes, there is a necessity to differentiate between
child up and down. Hence, introducing GF_EVENT_SOME_DESCENDENT_DOWN/UP and
getting rid of GF_EVENT_CHILD_MODIFIED.
[1] http://review.gluster.org/12573
Change-Id: I704140b6598f7ec705493251d2dbc4191c965a58
BUG: 1396038
Signed-off-by: Poornima G <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/15764
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: N Balachandran <nbalacha@redhat.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
Diffstat (limited to 'xlators/cluster/dht/src/dht-common.c')
-rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index ab3b893d151..a85627a683e 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -8915,15 +8915,14 @@ dht_notify (xlator_t *this, int event, void *data, ...) break; - case GF_EVENT_CHILD_MODIFIED: + case GF_EVENT_SOME_DESCENDENT_UP: subvol = data; - conf->gen++; propagate = 1; break; - case GF_EVENT_SOME_CHILD_DOWN: + case GF_EVENT_SOME_DESCENDENT_DOWN: subvol = data; propagate = 1; @@ -8968,7 +8967,7 @@ dht_notify (xlator_t *this, int event, void *data, ...) for (i = 0; i < conf->subvolume_cnt; i++) if (conf->last_event[i] != event) - event = GF_EVENT_CHILD_MODIFIED; + event = GF_EVENT_SOME_DESCENDENT_DOWN; break; case GF_EVENT_CHILD_CONNECTING: |