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