From e27365c0ab577aefc7e0b45dacb47f28510b8036 Mon Sep 17 00:00:00 2001 From: Ashish Pandey Date: Tue, 30 Aug 2016 14:17:58 +0530 Subject: [PATCH 63/86] cluster/ec: Add events for EC translator This patch will generates events in following cases which will be consumed by new event framework. Consider an EC volume with (K+M) configuration K = Data bricks M = Redundancy bricks 1- EVENT_EC_MIN_BRICKS_NOT_UP - When minimum "K" number of bricks, required for any ec fop, are not up. 2- EVENT_EC_MIN_BRICKS_UP When minimum "K" number of bricks, required for any ec fop, are up. >Change-Id: I0414b8968c39740a171e5aa14b087afd524d574f >BUG: 1371470 >Signed-off-by: Ashish Pandey >Reviewed-on: http://review.gluster.org/15348 >Tested-by: Pranith Kumar Karampuri >NetBSD-regression: NetBSD Build System >CentOS-regression: Gluster Build System >Smoke: Gluster Build System >Reviewed-by: Pranith Kumar Karampuri Change-Id: I0414b8968c39740a171e5aa14b087afd524d574f BUG: 1361084 Signed-off-by: Ashish Pandey Reviewed-on: https://code.engineering.redhat.com/gerrit/84812 Reviewed-by: Atin Mukherjee --- events/eventskeygen.py | 4 ++-- xlators/cluster/ec/src/ec.c | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/events/eventskeygen.py b/events/eventskeygen.py index 801bee3..9906a26 100644 --- a/events/eventskeygen.py +++ b/events/eventskeygen.py @@ -124,8 +124,8 @@ keys = ( "EVENT_COMPARE_FRIEND_VOLUME_FAILED", "EVENT_NFS_GANESHA_EXPORT_FAILED", #ec events - "EVENT_EC_DATA_BRICKS_NOT_UP", - "EVENT_EC_DATA_BRICKS_UP", + "EVENT_EC_MIN_BRICKS_NOT_UP", + "EVENT_EC_MIN_BRICKS_UP", #georep async events "EVENT_GEOREP_FAULTY", #quota async events diff --git a/xlators/cluster/ec/src/ec.c b/xlators/cluster/ec/src/ec.c index 94d1241..591ab25 100644 --- a/xlators/cluster/ec/src/ec.c +++ b/xlators/cluster/ec/src/ec.c @@ -20,6 +20,7 @@ #include "ec.h" #include "ec-messages.h" #include "ec-heald.h" +#include "events.h" static char *ec_read_policies[EC_READ_POLICY_MAX + 1] = { [EC_ROUND_ROBIN] = "round-robin", @@ -313,6 +314,7 @@ ec_up (xlator_t *this, ec_t *ec) ec->up = 1; gf_msg (this->name, GF_LOG_INFO, 0, EC_MSG_EC_UP, "Going UP"); + gf_event (EVENT_EC_MIN_BRICKS_UP, "subvol=%s", this->name); } void @@ -326,6 +328,7 @@ ec_down (xlator_t *this, ec_t *ec) ec->up = 0; gf_msg (this->name, GF_LOG_INFO, 0, EC_MSG_EC_DOWN, "Going DOWN"); + gf_event (EVENT_EC_MIN_BRICKS_NOT_UP, "subvol=%s", this->name); } void @@ -433,7 +436,7 @@ void ec_pending_fops_completed(ec_t *ec) { if (ec->shutdown) { - default_notify(ec->xl, GF_EVENT_PARENT_DOWN, NULL); + default_notify (ec->xl, GF_EVENT_PARENT_DOWN, NULL); } } -- 1.7.1