From c35cb76498749d7d34ebb8134f5780fe060d789d Mon Sep 17 00:00:00 2001 From: Poornima G Date: Fri, 28 Oct 2016 15:27:15 +0530 Subject: afr,dht,ec: Replace GF_EVENT_CHILD_MODIFIED with event SOME_DESCENDENT_DOWN/UP Backport of http://review.gluster.org/#/c/15764/ 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 >Reviewed-on: http://review.gluster.org/15764 >CentOS-regression: Gluster Build System >NetBSD-regression: NetBSD Build System >Smoke: Gluster Build System >Reviewed-by: N Balachandran >Reviewed-by: Pranith Kumar Karampuri >Reviewed-by: Rajesh Joseph (cherry picked from commit f7ab6c45963fa0da68acedfb14281cd2456abc68) Change-Id: I704140b6598f7ec705493251d2dbc4191c965a58 BUG: 1396880 Signed-off-by: Poornima G Reviewed-on: http://review.gluster.org/15890 NetBSD-regression: NetBSD Build System Smoke: Gluster Build System CentOS-regression: Gluster Build System Reviewed-by: Pranith Kumar Karampuri --- xlators/cluster/dht/src/dht-common.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'xlators/cluster/dht') diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index 29061b8f0de..7710fbd2286 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -8682,15 +8682,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; @@ -8735,7 +8734,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: -- cgit