]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
lttng: move tracepoint probes to dynamic libraries
authorJason Dillaman <dillaman@redhat.com>
Tue, 29 Sep 2015 18:13:46 +0000 (14:13 -0400)
committerJason Dillaman <dillaman@redhat.com>
Wed, 14 Oct 2015 16:06:46 +0000 (12:06 -0400)
LTTng-UST initializes itself at program load, which means it is
currently always enabled.  This can lead to issues with SElinux
and AppArmor which might restrict access to the necessary device
files.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
19 files changed:
src/librados/Makefile.am
src/librados/librados.cc
src/librbd/Makefile.am
src/librbd/librbd.cc
src/os/FileStore.cc
src/os/Makefile.am
src/osd/Makefile.am
src/osd/OSD.cc
src/osd/OpRequest.cc
src/osd/PG.cc
src/test/Makefile-client.am
src/tracing/.gitignore
src/tracing/Makefile.am
src/tracing/librados.c [new file with mode: 0644]
src/tracing/librbd.c [new file with mode: 0644]
src/tracing/objectstore.c [new file with mode: 0644]
src/tracing/oprequest.c [new file with mode: 0644]
src/tracing/osd.c [new file with mode: 0644]
src/tracing/pg.c [new file with mode: 0644]

index 103ffd8aad85b5254992655c79668491d7849bce..bf2c6da6906afb22b90c8a9f6e4d6d858082d0c0 100644 (file)
@@ -23,9 +23,6 @@ librados_la_CXXFLAGS = ${AM_CXXFLAGS}
 LIBRADOS_DEPS += \
        librados_internal.la libcls_lock_client.la \
        $(LIBOSDC) $(LIBCOMMON_DEPS)
-if WITH_LTTNG
-LIBRADOS_DEPS += $(LIBRADOS_TP)
-endif
 
 librados_la_LIBADD = $(LIBRADOS_DEPS) $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS)
 librados_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0
index 52445ad4dcb3c8ed4a180f9e70ddecac998ab13f..9d7367e38937ab830ec9770ca549b64032fc416c 100644 (file)
 #include <stdexcept>
 
 #ifdef WITH_LTTNG
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
 #include "tracing/librados.h"
+#undef TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#undef TRACEPOINT_DEFINE
 #else
 #define tracepoint(...)
 #endif
index 201577ac44ec0ac50f26c00519c45c4cac9ff17b..43604979461971d94474d7494aeaa631b55e3a58 100644 (file)
@@ -39,10 +39,6 @@ librbd_la_LIBADD = \
        libcls_lock_client.la \
        $(PTHREAD_LIBS) $(EXTRALIBS)
 
-if WITH_LTTNG
-librbd_la_LIBADD += $(LIBRBD_TP)
-endif
-
 librbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0
 if LINUX
 librbd_la_CXXFLAGS = -fvisibility=hidden -fvisibility-inlines-hidden
index 5c5425405424c49c821494837e33aa94e6d22f18..721b5322ee815e302d63d6dbca76832e36291e30 100644 (file)
 #include <vector>
 
 #ifdef WITH_LTTNG
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
 #include "tracing/librbd.h"
+#undef TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#undef TRACEPOINT_DEFINE
 #else
 #define tracepoint(...)
 #endif
index 2483bd93a656503d89139c1b901a07ae6b9b9a5c..4bee72656e67a05cd88bbd9f5bad35c4d602a3e2 100644 (file)
@@ -80,7 +80,11 @@ using ceph::crypto::SHA1;
 #include "common/blkdev.h"
 
 #ifdef WITH_LTTNG
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
 #include "tracing/objectstore.h"
+#undef TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#undef TRACEPOINT_DEFINE
 #else
 #define tracepoint(...)
 #endif
index c262809f903d9a222464115674b0c29800492319..fdb6c99ea313ba7d18eca9e2a398d7fecdd1a16f 100644 (file)
@@ -46,9 +46,6 @@ endif
 
 libos_la_CXXFLAGS = ${AM_CXXFLAGS}
 libos_la_LIBADD = $(LIBOS_TYPES)
-if WITH_LTTNG
-libos_la_LIBADD += $(LIBOS_TP)
-endif
 
 noinst_LTLIBRARIES += libos.la
 
index 002f1e1903dadbc71195b64db9745761431976cd..da805a252ed66b2e1f51f2192475780340e5de0a 100644 (file)
@@ -31,9 +31,6 @@ if WITH_KINETIC
 libosd_la_CXXFLAGS += -std=gnu++11
 endif
 libosd_la_LIBADD = $(LIBOSDC) $(LIBOS) $(LIBOSD_TYPES) $(LIBOS_TYPES)
-if WITH_LTTNG
-libosd_la_LIBADD += $(LIBOSD_TP)
-endif
 noinst_LTLIBRARIES += libosd.la
 
 noinst_HEADERS += \
index edadb989aa0eae51804af74126f0dcfd5122236b..b1a5758536be76fe1a6bdb2dcc6572c3f5fe2621 100644 (file)
 #include "common/config.h"
 
 #ifdef WITH_LTTNG
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
 #include "tracing/osd.h"
+#undef TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#undef TRACEPOINT_DEFINE
 #else
 #define tracepoint(...)
 #endif
index 7104a31566376d33e78b5cd34cf416a1b636b8fc..65011a1129a289906576b9003b4b2efed94c2ca4 100644 (file)
 #include "osd/osd_types.h"
 
 #ifdef WITH_LTTNG
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
 #include "tracing/oprequest.h"
+#undef TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#undef TRACEPOINT_DEFINE
 #else
 #define tracepoint(...)
 #endif
index b5a743bf3f8dafad70adf6549e937c17acc0601a..a31739577e40599edd4a414f3741ed3145485903 100644 (file)
 #include "common/BackTrace.h"
 
 #ifdef WITH_LTTNG
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
 #include "tracing/pg.h"
+#undef TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#undef TRACEPOINT_DEFINE
 #else
 #define tracepoint(...)
 #endif
index 83d7cce360e7fc9733814c5660f01642d2199910..e1cb98b1004bf4e5215789955c47a9d75fc50f8e 100644 (file)
@@ -362,12 +362,6 @@ noinst_HEADERS += \
        test/librbd/mock/MockImageWatcher.h \
        test/librbd/mock/MockObjectMap.h
 
-if WITH_LTTNG
-unittest_librbd_LDADD += $(LIBRBD_TP)
-ceph_test_librbd_LDADD += $(LIBRBD_TP)
-ceph_test_librbd_api_LDADD += $(LIBRBD_TP)
-endif
-
 if LINUX
 ceph_test_librbd_fsx_SOURCES = test/librbd/fsx.cc
 ceph_test_librbd_fsx_LDADD = \
index 4bcc583049e1eeec0cb5f85c9a4a634af5c72c93..d7b78e9f1c7bc9e01db4728100988ab28543b260 100644 (file)
@@ -1,2 +1,6 @@
-*.h
-*.c
+librados.h
+librbd.h
+objectstore.h
+oprequest.h
+osd.h
+pg.h
index 52aad5347eccb932feb861133e0216bf467ccc35..be99d9be6cf44205eb64832161f153515679c99b 100644 (file)
@@ -1,8 +1,8 @@
 EXTRA_DIST = tracing-common.h
 
 if WITH_LTTNG
-%.c %.h: %.tp
-       $(LTTNG_GEN_TP_PROG) $< -o $*.c -o $*.h
+%.h: %.tp
+       $(LTTNG_GEN_TP_PROG) $< -o $*.h
 endif
 
 dist_noinst_DATA = \
@@ -23,9 +23,8 @@ nodist_libosd_tp_la_SOURCES = \
        pg.c
 endif
 libosd_tp_la_LIBADD = -llttng-ust -ldl
-libosd_tp_la_CPPFLAGS = -DTRACEPOINT_PROBE_DYNAMIC_LINKAGE
-libosd_tp_la_CFLAGS = -I$(top_srcdir)/src $(AM_CFLAGS)
-libosd_tp_la_LDFLAGS =
+libosd_tp_la_CFLAGS = -I$(top_srcdir)/src $(AM_CFLAGS) -fpic
+libosd_tp_la_LDFLAGS = -version-info 1:0:0
 
 if WITH_LTTNG
 nodist_librados_tp_la_SOURCES = \
@@ -33,9 +32,8 @@ nodist_librados_tp_la_SOURCES = \
        librados.h
 endif
 librados_tp_la_LIBADD = -llttng-ust -ldl
-librados_tp_la_CPPFLAGS = -DTRACEPOINT_PROBE_DYNAMIC_LINKAGE
-librados_tp_la_CFLAGS = -I$(top_srcdir)/src $(AM_CFLAGS)
-librados_tp_la_LDFLAGS =
+librados_tp_la_CFLAGS = -I$(top_srcdir)/src $(AM_CFLAGS) -fpic
+librados_tp_la_LDFLAGS = -version-info 2:0:0
 
 if WITH_LTTNG
 nodist_librbd_tp_la_SOURCES = \
@@ -43,9 +41,8 @@ nodist_librbd_tp_la_SOURCES = \
        librbd.h
 endif
 librbd_tp_la_LIBADD = -llttng-ust -ldl
-librbd_tp_la_CPPFLAGS = -DTRACEPOINT_PROBE_DYNAMIC_LINKAGE
-librbd_tp_la_CFLAGS = -I$(top_srcdir)/src $(AM_CFLAGS)
-librbd_tp_la_LDFLAGS =
+librbd_tp_la_CFLAGS = -I$(top_srcdir)/src $(AM_CFLAGS) -fpic
+librbd_tp_la_LDFLAGS = -version-info 1:0:0
 
 if WITH_LTTNG
 nodist_libos_tp_la_SOURCES = \
@@ -53,28 +50,24 @@ nodist_libos_tp_la_SOURCES = \
        objectstore.h
 endif
 libos_tp_la_LIBADD = -llttng-ust -ldl
-libos_tp_la_CPPFLAGS = -DTRACEPOINT_PROBE_DYNAMIC_LINKAGE
-libos_tp_la_CFLAGS = -I$(top_srcdir)/src $(AM_CFLAGS)
-libos_tp_la_LDFLAGS =
+libos_tp_la_CFLAGS = -I$(top_srcdir)/src $(AM_CFLAGS) -fpic
+libos_tp_la_LDFLAGS = -version-info 1:0:0
 
 if WITH_LTTNG
-noinst_LTLIBRARIES = \
+lib_LTLIBRARIES = \
        libosd_tp.la \
+       libos_tp.la \
        librados_tp.la \
-       librbd_tp.la \
-       libos_tp.la
+       librbd_tp.la
 
 BUILT_SOURCES = \
        librados.h \
        librbd.h \
+       objectstore.h \
        oprequest.h \
        osd.h \
-       pg.h \
-       objectstore.h
+       pg.h
 endif
 
 CLEANFILES = \
-       $(nodist_libosd_tp_la_SOURCES) \
-       $(nodist_librados_tp_la_SOURCES) \
-       $(nodist_librbd_tp_la_SOURCES) \
-       $(nodist_libos_tp_la_SOURCES)
+       $(BUILT_SOURCES)
diff --git a/src/tracing/librados.c b/src/tracing/librados.c
new file mode 100644 (file)
index 0000000..5b8d4d6
--- /dev/null
@@ -0,0 +1,6 @@
+
+#define TRACEPOINT_CREATE_PROBES
+/*
+ * The header containing our TRACEPOINT_EVENTs.
+ */
+#include "librados.h"
diff --git a/src/tracing/librbd.c b/src/tracing/librbd.c
new file mode 100644 (file)
index 0000000..6e5977c
--- /dev/null
@@ -0,0 +1,6 @@
+
+#define TRACEPOINT_CREATE_PROBES
+/*
+ * The header containing our TRACEPOINT_EVENTs.
+ */
+#include "librbd.h"
diff --git a/src/tracing/objectstore.c b/src/tracing/objectstore.c
new file mode 100644 (file)
index 0000000..21bbf27
--- /dev/null
@@ -0,0 +1,6 @@
+
+#define TRACEPOINT_CREATE_PROBES
+/*
+ * The header containing our TRACEPOINT_EVENTs.
+ */
+#include "objectstore.h"
diff --git a/src/tracing/oprequest.c b/src/tracing/oprequest.c
new file mode 100644 (file)
index 0000000..02f1fc5
--- /dev/null
@@ -0,0 +1,6 @@
+
+#define TRACEPOINT_CREATE_PROBES
+/*
+ * The header containing our TRACEPOINT_EVENTs.
+ */
+#include "oprequest.h"
diff --git a/src/tracing/osd.c b/src/tracing/osd.c
new file mode 100644 (file)
index 0000000..ff70ddf
--- /dev/null
@@ -0,0 +1,6 @@
+
+#define TRACEPOINT_CREATE_PROBES
+/*
+ * The header containing our TRACEPOINT_EVENTs.
+ */
+#include "osd.h"
diff --git a/src/tracing/pg.c b/src/tracing/pg.c
new file mode 100644 (file)
index 0000000..661ebb7
--- /dev/null
@@ -0,0 +1,6 @@
+
+#define TRACEPOINT_CREATE_PROBES
+/*
+ * The header containing our TRACEPOINT_EVENTs.
+ */
+#include "pg.h"