ext4: Fix include/trace/events/ext4.h to work with Systemtap
authorTheodore Ts'o <tytso@mit.edu>
Tue, 15 Sep 2009 02:59:50 +0000 (22:59 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 15 Sep 2009 02:59:50 +0000 (22:59 -0400)
Using relative pathnames in #include statements interacts badly with
SystemTap, since the fs/ext4/*.h header files are not packaged up as
part of a distribution kernel's header files.  Since systemtap doesn't
use TP_fast_assign(), we can use a blind structure definition and then
make sure the needed header files are defined before the ext4 source
files #include the trace/events/ext4.h header file.

https://bugzilla.redhat.com/show_bug.cgi?id=512478

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/super.c
include/trace/events/ext4.h

index 04c6933..af95dd8 100644 (file)
@@ -45,6 +45,7 @@
 #include "ext4_jbd2.h"
 #include "xattr.h"
 #include "acl.h"
+#include "mballoc.h"
 
 #define CREATE_TRACE_POINTS
 #include <trace/events/ext4.h>
index 68b53c7..6fe6ce9 100644 (file)
@@ -5,10 +5,12 @@
 #define _TRACE_EXT4_H
 
 #include <linux/writeback.h>
-#include "../../../fs/ext4/ext4.h"
-#include "../../../fs/ext4/mballoc.h"
 #include <linux/tracepoint.h>
 
+struct ext4_allocation_context;
+struct ext4_allocation_request;
+struct ext4_prealloc_space;
+
 TRACE_EVENT(ext4_free_inode,
        TP_PROTO(struct inode *inode),