Tracepoint symbols bcache_start_closure_wait and bcache_end_closure_wait
should be defined in bcache_util. Otherwise we get an circular
dependency between bcache.ko and bcache_util.ko, when bcache is compiled
as a module with CONFIG_TRACEPOINT enabled.

Thanks,
Christian

Signed-off-by: Christian Brunner <[email protected]>
---
 block/bcache.c      |    8 +-------
 block/bcache_util.c |    6 ++++++
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/block/bcache.c b/block/bcache.c
index b58e3f1..58ebe25 100644
--- a/block/bcache.c
+++ b/block/bcache.c
@@ -813,16 +813,10 @@ struct search {
 const char *insert_types[] = {
        "read", "write", NULL, "writeback",
        "undirty", NULL, "replay"
-}
+};
 
 #define insert_type(s) insert_types[(s)->insert_type]
 
-#define CREATE_TRACE_POINTS
-#include <trace/events/bcache.h>
-
-EXPORT_TRACEPOINT_SYMBOL_GPL(bcache_start_closure_wait);
-EXPORT_TRACEPOINT_SYMBOL_GPL(bcache_end_closure_wait);
-
 static struct kobject *bcache_kobj;
 static struct mutex register_lock;
 static LIST_HEAD(uncached_devices);
diff --git a/block/bcache_util.c b/block/bcache_util.c
index 4104301..7da8ca8 100644
--- a/block/bcache_util.c
+++ b/block/bcache_util.c
@@ -10,6 +10,12 @@
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Kent Overstreet <[email protected]>");
 
+#define CREATE_TRACE_POINTS
+#include <trace/events/bcache.h>
+
+EXPORT_TRACEPOINT_SYMBOL_GPL(bcache_start_closure_wait);
+EXPORT_TRACEPOINT_SYMBOL_GPL(bcache_end_closure_wait);
+
 #define STRTO_H(name, type)                                    \
 int name ## _h(const char *cp, type *res)                      \
 {                                                              \
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-bcache" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to