|
|
3604df |
From bd6e817e5272069500e3504c0db669a119c08b68 Mon Sep 17 00:00:00 2001
|
|
|
3604df |
From: Aravinda VK <avishwan@redhat.com>
|
|
|
3604df |
Date: Thu, 18 Aug 2016 14:51:44 +0530
|
|
|
3604df |
Subject: [PATCH 36/79] eventsapi: Fix disable-events issue
|
|
|
3604df |
|
|
|
3604df |
Events related sources are not loaded in libglusterfs when
|
|
|
3604df |
configure is run with --disable-events option. Due to this
|
|
|
3604df |
every call of gf_event should be guarded with USE_EVENTS macro.
|
|
|
3604df |
|
|
|
3604df |
To prevent this, USE_EVENTS macro was included in events.c
|
|
|
3604df |
itself(Patch #15054)
|
|
|
3604df |
|
|
|
3604df |
Instead of disabling building entire directory "events", selectively
|
|
|
3604df |
disabled the code. So that constants and empty function gf_event is
|
|
|
3604df |
exposed. Code will not fail even if gf_event is called when events is
|
|
|
3604df |
disabled.
|
|
|
3604df |
|
|
|
3604df |
> Reviewed-on: http://review.gluster.org/15198
|
|
|
3604df |
> Smoke: Gluster Build System <jenkins@build.gluster.org>
|
|
|
3604df |
> Reviewed-by: Niels de Vos <ndevos@redhat.com>
|
|
|
3604df |
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
|
|
|
3604df |
> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
|
|
|
3604df |
|
|
|
3604df |
BUG: 1351589
|
|
|
3604df |
Change-Id: Ia6abfe9c1e46a7640c4d8ff5ccf0e9c30c87f928
|
|
|
3604df |
Signed-off-by: Aravinda VK <avishwan@redhat.com>
|
|
|
3604df |
Reviewed-on: https://code.engineering.redhat.com/gerrit/84742
|
|
|
3604df |
Reviewed-by: Milind Changire <mchangir@redhat.com>
|
|
|
3604df |
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
|
|
|
3604df |
---
|
|
|
3604df |
Makefile.am | 2 +-
|
|
|
3604df |
cli/src/cli-cmd-peer.c | 1 +
|
|
|
3604df |
cli/src/cli-cmd-volume.c | 1 +
|
|
|
3604df |
configure.ac | 1 -
|
|
|
3604df |
events/Makefile.am | 4 +++-
|
|
|
3604df |
events/src/Makefile.am | 15 ++++++++++-----
|
|
|
3604df |
events/src/eventsapiconf.py.in | 1 +
|
|
|
3604df |
events/src/gf_event.py | 5 ++++-
|
|
|
3604df |
events/tools/Makefile.am | 5 ++++-
|
|
|
3604df |
libglusterfs/src/Makefile.am | 14 ++++++--------
|
|
|
3604df |
libglusterfs/src/events.c | 9 ++++++---
|
|
|
3604df |
libglusterfs/src/{events.h.in => events.h} | 16 ++++++++++------
|
|
|
3604df |
libglusterfs/src/glusterfs.h | 4 ----
|
|
|
3604df |
xlators/features/bit-rot/src/bitd/bit-rot-scrub.c | 1 +
|
|
|
3604df |
xlators/mgmt/glusterd/src/glusterd.h | 1 +
|
|
|
3604df |
16 files changed, 49 insertions(+), 32 deletions(-)
|
|
|
3604df |
rename libglusterfs/src/{events.h.in => events.h} (71%)
|
|
|
3604df |
|
|
|
3604df |
diff --git a/Makefile.am b/Makefile.am
|
|
|
3604df |
index 37cbb86..da224c4 100644
|
|
|
3604df |
--- a/Makefile.am
|
|
|
3604df |
+++ b/Makefile.am
|
|
|
3604df |
@@ -12,7 +12,7 @@ EXTRA_DIST = autogen.sh \
|
|
|
3604df |
|
|
|
3604df |
SUBDIRS = $(ARGP_STANDALONE_DIR) libglusterfs rpc api xlators glusterfsd \
|
|
|
3604df |
$(FUSERMOUNT_SUBDIR) doc extras cli heal @SYNCDAEMON_SUBDIR@ \
|
|
|
3604df |
- @UMOUNTD_SUBDIR@ tools @EVENTS_SUBDIR@
|
|
|
3604df |
+ @UMOUNTD_SUBDIR@ tools events
|
|
|
3604df |
|
|
|
3604df |
pkgconfigdir = @pkgconfigdir@
|
|
|
3604df |
pkgconfig_DATA = glusterfs-api.pc libgfchangelog.pc
|
|
|
3604df |
diff --git a/cli/src/cli-cmd-peer.c b/cli/src/cli-cmd-peer.c
|
|
|
3604df |
index fc72075..4802f71 100644
|
|
|
3604df |
--- a/cli/src/cli-cmd-peer.c
|
|
|
3604df |
+++ b/cli/src/cli-cmd-peer.c
|
|
|
3604df |
@@ -18,6 +18,7 @@
|
|
|
3604df |
#include "cli-mem-types.h"
|
|
|
3604df |
#include "cli1-xdr.h"
|
|
|
3604df |
#include "protocol-common.h"
|
|
|
3604df |
+#include "events.h"
|
|
|
3604df |
|
|
|
3604df |
extern struct rpc_clnt *global_rpc;
|
|
|
3604df |
|
|
|
3604df |
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c
|
|
|
3604df |
index 740a867..09cfcee 100644
|
|
|
3604df |
--- a/cli/src/cli-cmd-volume.c
|
|
|
3604df |
+++ b/cli/src/cli-cmd-volume.c
|
|
|
3604df |
@@ -26,6 +26,7 @@
|
|
|
3604df |
#include "run.h"
|
|
|
3604df |
#include "syscall.h"
|
|
|
3604df |
#include "common-utils.h"
|
|
|
3604df |
+#include "events.h"
|
|
|
3604df |
|
|
|
3604df |
extern struct rpc_clnt *global_rpc;
|
|
|
3604df |
extern struct rpc_clnt *global_quotad_rpc;
|
|
|
3604df |
diff --git a/configure.ac b/configure.ac
|
|
|
3604df |
index 2e0323d..e18309d 100644
|
|
|
3604df |
--- a/configure.ac
|
|
|
3604df |
+++ b/configure.ac
|
|
|
3604df |
@@ -38,7 +38,6 @@ AC_CONFIG_HEADERS([config.h])
|
|
|
3604df |
AC_CONFIG_FILES([Makefile
|
|
|
3604df |
libglusterfs/Makefile
|
|
|
3604df |
libglusterfs/src/Makefile
|
|
|
3604df |
- libglusterfs/src/events.h
|
|
|
3604df |
libglusterfs/src/gfdb/Makefile
|
|
|
3604df |
geo-replication/src/peer_gsec_create
|
|
|
3604df |
geo-replication/src/peer_mountbroker
|
|
|
3604df |
diff --git a/events/Makefile.am b/events/Makefile.am
|
|
|
3604df |
index 04a74ef..264bb74 100644
|
|
|
3604df |
--- a/events/Makefile.am
|
|
|
3604df |
+++ b/events/Makefile.am
|
|
|
3604df |
@@ -1,6 +1,8 @@
|
|
|
3604df |
SUBDIRS = src tools
|
|
|
3604df |
-
|
|
|
3604df |
+EXTRA_DIST = eventskeygen.py
|
|
|
3604df |
noinst_PYTHON = eventskeygen.py
|
|
|
3604df |
|
|
|
3604df |
+if BUILD_EVENTS
|
|
|
3604df |
install-data-hook:
|
|
|
3604df |
$(INSTALL) -d -m 755 $(DESTDIR)@GLUSTERD_WORKDIR@/events
|
|
|
3604df |
+endif
|
|
|
3604df |
diff --git a/events/src/Makefile.am b/events/src/Makefile.am
|
|
|
3604df |
index 423bc88..d292fbe 100644
|
|
|
3604df |
--- a/events/src/Makefile.am
|
|
|
3604df |
+++ b/events/src/Makefile.am
|
|
|
3604df |
@@ -6,18 +6,21 @@ BUILT_SOURCES = eventtypes.py
|
|
|
3604df |
CLEANFILES = eventtypes.py
|
|
|
3604df |
|
|
|
3604df |
eventsdir = $(libexecdir)/glusterfs/events
|
|
|
3604df |
+events_PYTHON = __init__.py gf_event.py eventsapiconf.py eventtypes.py \
|
|
|
3604df |
+ utils.py
|
|
|
3604df |
+
|
|
|
3604df |
+eventtypes.py:
|
|
|
3604df |
+ $(PYTHON) $(top_srcdir)/events/eventskeygen.py PY_HEADER
|
|
|
3604df |
+
|
|
|
3604df |
+if BUILD_EVENTS
|
|
|
3604df |
eventspeerscriptdir = $(libexecdir)/glusterfs
|
|
|
3604df |
eventsconfdir = $(sysconfdir)/glusterfs
|
|
|
3604df |
eventsconf_DATA = eventsconfig.json
|
|
|
3604df |
|
|
|
3604df |
-events_PYTHON = __init__.py eventsapiconf.py eventtypes.py handlers.py \
|
|
|
3604df |
- utils.py gf_event.py
|
|
|
3604df |
+events_PYTHON += handlers.py
|
|
|
3604df |
events_SCRIPTS = glustereventsd.py
|
|
|
3604df |
eventspeerscript_SCRIPTS = peer_eventsapi.py
|
|
|
3604df |
|
|
|
3604df |
-eventtypes.py: $(top_srcdir)/events/eventskeygen.py
|
|
|
3604df |
- $(PYTHON) $(top_srcdir)/events/eventskeygen.py PY_HEADER
|
|
|
3604df |
-
|
|
|
3604df |
install-exec-hook:
|
|
|
3604df |
$(mkdir_p) $(DESTDIR)$(sbindir)
|
|
|
3604df |
rm -f $(DESTDIR)$(sbindir)/glustereventsd
|
|
|
3604df |
@@ -30,3 +33,5 @@ install-exec-hook:
|
|
|
3604df |
uninstall-hook:
|
|
|
3604df |
rm -f $(DESTDIR)$(sbindir)/glustereventsd
|
|
|
3604df |
rm -f $(DESTDIR)$(sbindir)/gluster-eventsapi
|
|
|
3604df |
+
|
|
|
3604df |
+endif
|
|
|
3604df |
diff --git a/events/src/eventsapiconf.py.in b/events/src/eventsapiconf.py.in
|
|
|
3604df |
index 702e1d2..03dd0e8 100644
|
|
|
3604df |
--- a/events/src/eventsapiconf.py.in
|
|
|
3604df |
+++ b/events/src/eventsapiconf.py.in
|
|
|
3604df |
@@ -20,3 +20,4 @@ EVENTSD = "glustereventsd"
|
|
|
3604df |
CONFIG_KEYS = ["log_level"]
|
|
|
3604df |
BOOL_CONFIGS = []
|
|
|
3604df |
RESTART_CONFIGS = []
|
|
|
3604df |
+EVENTS_ENABLED = @EVENTS_ENABLED@
|
|
|
3604df |
diff --git a/events/src/gf_event.py b/events/src/gf_event.py
|
|
|
3604df |
index 0924a65..20dfc8a 100644
|
|
|
3604df |
--- a/events/src/gf_event.py
|
|
|
3604df |
+++ b/events/src/gf_event.py
|
|
|
3604df |
@@ -13,7 +13,7 @@
|
|
|
3604df |
import socket
|
|
|
3604df |
import time
|
|
|
3604df |
|
|
|
3604df |
-from eventsapiconf import SERVER_ADDRESS
|
|
|
3604df |
+from eventsapiconf import SERVER_ADDRESS, EVENTS_ENABLED
|
|
|
3604df |
from eventtypes import all_events
|
|
|
3604df |
|
|
|
3604df |
from utils import logger, setup_logger
|
|
|
3604df |
@@ -23,6 +23,9 @@ setup_logger()
|
|
|
3604df |
|
|
|
3604df |
|
|
|
3604df |
def gf_event(event_type, **kwargs):
|
|
|
3604df |
+ if EVENTS_ENABLED == 0:
|
|
|
3604df |
+ return
|
|
|
3604df |
+
|
|
|
3604df |
if not isinstance(event_type, int) or event_type >= len(all_events):
|
|
|
3604df |
logger.error("Invalid Event Type: {0}".format(event_type))
|
|
|
3604df |
return
|
|
|
3604df |
diff --git a/events/tools/Makefile.am b/events/tools/Makefile.am
|
|
|
3604df |
index 7d5e331..fb6770c 100644
|
|
|
3604df |
--- a/events/tools/Makefile.am
|
|
|
3604df |
+++ b/events/tools/Makefile.am
|
|
|
3604df |
@@ -1,3 +1,6 @@
|
|
|
3604df |
+EXTRA_DIST = eventsdash.py
|
|
|
3604df |
+
|
|
|
3604df |
+if BUILD_EVENTS
|
|
|
3604df |
scriptsdir = $(datadir)/glusterfs/scripts
|
|
|
3604df |
scripts_SCRIPTS = eventsdash.py
|
|
|
3604df |
-EXTRA_DIST = eventsdash.py
|
|
|
3604df |
+endif
|
|
|
3604df |
diff --git a/libglusterfs/src/Makefile.am b/libglusterfs/src/Makefile.am
|
|
|
3604df |
index 66369e2..b7c3116 100644
|
|
|
3604df |
--- a/libglusterfs/src/Makefile.am
|
|
|
3604df |
+++ b/libglusterfs/src/Makefile.am
|
|
|
3604df |
@@ -38,7 +38,7 @@ libglusterfs_la_SOURCES = dict.c xlator.c logging.c \
|
|
|
3604df |
nodist_libglusterfs_la_SOURCES = y.tab.c graph.lex.c defaults.c
|
|
|
3604df |
nodist_libglusterfs_la_HEADERS = y.tab.h glusterfs-fops.h cli1-xdr.h
|
|
|
3604df |
|
|
|
3604df |
-BUILT_SOURCES = graph.lex.c defaults.c glusterfs-fops.h cli1-xdr.h
|
|
|
3604df |
+BUILT_SOURCES = graph.lex.c defaults.c glusterfs-fops.h cli1-xdr.h eventtypes.h
|
|
|
3604df |
|
|
|
3604df |
libglusterfs_la_HEADERS = common-utils.h defaults.h default-args.h \
|
|
|
3604df |
dict.h glusterfs.h hashfn.h timespec.h logging.h xlator.h \
|
|
|
3604df |
@@ -52,7 +52,7 @@ libglusterfs_la_HEADERS = common-utils.h defaults.h default-args.h \
|
|
|
3604df |
glfs-message-id.h template-component-messages.h strfd.h \
|
|
|
3604df |
syncop-utils.h parse-utils.h libglusterfs-messages.h tw.h \
|
|
|
3604df |
lvm-defaults.h quota-common-utils.h rot-buffs.h \
|
|
|
3604df |
- compat-uuid.h upcall-utils.h
|
|
|
3604df |
+ compat-uuid.h upcall-utils.h events.h
|
|
|
3604df |
|
|
|
3604df |
libglusterfs_ladir = $(includedir)/glusterfs
|
|
|
3604df |
|
|
|
3604df |
@@ -72,14 +72,12 @@ libglusterfs_la_SOURCES += $(CONTRIBDIR)/uuid/clear.c \
|
|
|
3604df |
$(CONTRIBDIR)/uuid/unpack.c
|
|
|
3604df |
endif
|
|
|
3604df |
|
|
|
3604df |
-if BUILD_EVENTS
|
|
|
3604df |
-BUILT_SOURCES += eventtypes.h
|
|
|
3604df |
-libglusterfs_la_SOURCES += events.c
|
|
|
3604df |
-
|
|
|
3604df |
-libglusterfs_la_HEADERS += events.h eventtypes.h
|
|
|
3604df |
|
|
|
3604df |
-eventtypes.h: $(top_srcdir)/events/eventskeygen.py
|
|
|
3604df |
+eventtypes.h:
|
|
|
3604df |
$(PYTHON) $(top_srcdir)/events/eventskeygen.py C_HEADER
|
|
|
3604df |
+
|
|
|
3604df |
+if BUILD_EVENTS
|
|
|
3604df |
+libglusterfs_la_SOURCES += events.c
|
|
|
3604df |
endif
|
|
|
3604df |
|
|
|
3604df |
libgfchangelog_HEADERS = changelog.h
|
|
|
3604df |
diff --git a/libglusterfs/src/events.c b/libglusterfs/src/events.c
|
|
|
3604df |
index 2df8c29..f93934d 100644
|
|
|
3604df |
--- a/libglusterfs/src/events.c
|
|
|
3604df |
+++ b/libglusterfs/src/events.c
|
|
|
3604df |
@@ -20,11 +20,15 @@
|
|
|
3604df |
#include "mem-pool.h"
|
|
|
3604df |
#include "events.h"
|
|
|
3604df |
|
|
|
3604df |
+
|
|
|
3604df |
+#define EVENT_PATH DATADIR "/run/gluster/events.sock"
|
|
|
3604df |
+#define EVENTS_MSG_MAX 2048
|
|
|
3604df |
+
|
|
|
3604df |
+
|
|
|
3604df |
int
|
|
|
3604df |
-gf_event (int event, char *fmt, ...)
|
|
|
3604df |
+gf_event (eventtypes_t event, char *fmt, ...)
|
|
|
3604df |
{
|
|
|
3604df |
int ret = 0;
|
|
|
3604df |
-#if (USE_EVENTS)
|
|
|
3604df |
int sock = -1;
|
|
|
3604df |
char eventstr[EVENTS_MSG_MAX] = "";
|
|
|
3604df |
struct sockaddr_un server;
|
|
|
3604df |
@@ -80,6 +84,5 @@ gf_event (int event, char *fmt, ...)
|
|
|
3604df |
out:
|
|
|
3604df |
sys_close(sock);
|
|
|
3604df |
GF_FREE(msg);
|
|
|
3604df |
-#endif
|
|
|
3604df |
return ret;
|
|
|
3604df |
}
|
|
|
3604df |
diff --git a/libglusterfs/src/events.h.in b/libglusterfs/src/events.h
|
|
|
3604df |
similarity index 71%
|
|
|
3604df |
rename from libglusterfs/src/events.h.in
|
|
|
3604df |
rename to libglusterfs/src/events.h
|
|
|
3604df |
index 37692be..6b280a0 100644
|
|
|
3604df |
--- a/libglusterfs/src/events.h.in
|
|
|
3604df |
+++ b/libglusterfs/src/events.h
|
|
|
3604df |
@@ -11,13 +11,17 @@
|
|
|
3604df |
#ifndef __EVENTS_H__
|
|
|
3604df |
#define __EVENTS_H__
|
|
|
3604df |
|
|
|
3604df |
-#include <stdio.h>
|
|
|
3604df |
-
|
|
|
3604df |
#include "eventtypes.h"
|
|
|
3604df |
|
|
|
3604df |
-#define EVENT_PATH "@localstatedir@/run/gluster/events.sock"
|
|
|
3604df |
-#define EVENTS_MSG_MAX 2048
|
|
|
3604df |
-
|
|
|
3604df |
-extern int gf_event(int key, char *fmt, ...);
|
|
|
3604df |
+#ifdef USE_EVENTS
|
|
|
3604df |
+int
|
|
|
3604df |
+gf_event (eventtypes_t event, char *fmt, ...);
|
|
|
3604df |
+#else
|
|
|
3604df |
+static inline int
|
|
|
3604df |
+gf_event (eventtypes_t event, char *fmt, ...)
|
|
|
3604df |
+{
|
|
|
3604df |
+ return 0;
|
|
|
3604df |
+}
|
|
|
3604df |
+#endif /* USE_EVENTS */
|
|
|
3604df |
|
|
|
3604df |
#endif /* __EVENTS_H__ */
|
|
|
3604df |
diff --git a/libglusterfs/src/glusterfs.h b/libglusterfs/src/glusterfs.h
|
|
|
3604df |
index cbad737..0cee2ba 100644
|
|
|
3604df |
--- a/libglusterfs/src/glusterfs.h
|
|
|
3604df |
+++ b/libglusterfs/src/glusterfs.h
|
|
|
3604df |
@@ -37,10 +37,6 @@
|
|
|
3604df |
#include "lkowner.h"
|
|
|
3604df |
#include "compat-uuid.h"
|
|
|
3604df |
|
|
|
3604df |
-#if (USE_EVENTS)
|
|
|
3604df |
-#include "events.h"
|
|
|
3604df |
-#endif
|
|
|
3604df |
-
|
|
|
3604df |
#define GF_YES 1
|
|
|
3604df |
#define GF_NO 0
|
|
|
3604df |
|
|
|
3604df |
diff --git a/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c b/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c
|
|
|
3604df |
index 601dea9..abf8dcf 100644
|
|
|
3604df |
--- a/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c
|
|
|
3604df |
+++ b/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c
|
|
|
3604df |
@@ -20,6 +20,7 @@
|
|
|
3604df |
#include <pthread.h>
|
|
|
3604df |
#include "bit-rot-bitd-messages.h"
|
|
|
3604df |
#include "bit-rot-scrub-status.h"
|
|
|
3604df |
+#include "events.h"
|
|
|
3604df |
|
|
|
3604df |
struct br_scrubbers {
|
|
|
3604df |
pthread_t scrubthread;
|
|
|
3604df |
diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h
|
|
|
3604df |
index 29aaf64..f5e090d 100644
|
|
|
3604df |
--- a/xlators/mgmt/glusterd/src/glusterd.h
|
|
|
3604df |
+++ b/xlators/mgmt/glusterd/src/glusterd.h
|
|
|
3604df |
@@ -36,6 +36,7 @@
|
|
|
3604df |
#include "syncop.h"
|
|
|
3604df |
#include "store.h"
|
|
|
3604df |
#include "glusterd-rcu.h"
|
|
|
3604df |
+#include "events.h"
|
|
|
3604df |
|
|
|
3604df |
#define GLUSTERD_TR_LOG_SIZE 50
|
|
|
3604df |
#define GLUSTERD_SOCKET_LISTEN_BACKLOG 128
|
|
|
3604df |
--
|
|
|
3604df |
1.7.1
|
|
|
3604df |
|