Skip to contentSkip to conversation

trace-cmd: Fix build failure due to blktrace_api change

PATCH In review Darren Hart 2 participants 3 messages Dec 1, 2011

lore
Share & tools
lore
#0 lore raw

cover trace-cmd: Fix build failure due to blktrace_api change

From: Darren Hart <[email protected]>

The following changes since commit 2ebfb9d9ed7554180c3c077b14291a1853f8e2ef:

puzzles: Ensure to link against libm for math functions (2011-12-01 14:30:49 +0000)

are available in the git repository at:
git://git.yoctoproject.org/user-contrib/dvhart/oe-core trace-cmd
http://git.yoctoproject.org/cgit.cgi/user-contrib/dvhart/oe-core/log/?h=trace-cmd

Darren Hart (1):
trace-cmd: Add blktrace_api compatibility for TC_BARRIER

 meta/recipes-kernel/trace-cmd/kernelshark_1.2.bb   |    3 +-
 .../trace-cmd/blktrace-api-compatibility.patch     |   29 ++++++++++++++++++++
 meta/recipes-kernel/trace-cmd/trace-cmd_1.2.bb     |    3 +-
 3 files changed, 33 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-kernel/trace-cmd/trace-cmd/blktrace-api-compatibility.patch
Signature · 1 line
1.7.6.4
#1 lore raw

PATCH 1/1 trace-cmd: Add blktrace_api compatibility for TC_BARRIER

From: Darren Hart <[email protected]>

Newer kernels replace TC_BARRIER with TC_FLUSH. Ensure trace-cmd can build regardless of the linux-kernel-headers version.

This is intended as a stop-gap to get the builds working again. A proper fix will need to be discussed with the trace-cmd community.

---
 meta/recipes-kernel/trace-cmd/kernelshark_1.2.bb   |    3 +-
 .../trace-cmd/blktrace-api-compatibility.patch     |   29 ++++++++++++++++++++
 meta/recipes-kernel/trace-cmd/trace-cmd_1.2.bb     |    3 +-
 3 files changed, 33 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-kernel/trace-cmd/trace-cmd/blktrace-api-compatibility.patch
meta/recipes-kernel/trace-cmd/kernelshark_1.2.bb +2 -1
index aa070a9..beb203f 100644
@@ -14,7 +14,8 @@ inherit pkgconfig
 
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;protocol=git \
            file://addldflags.patch \
-           file://make-docs-optional.patch"
+           file://make-docs-optional.patch \
+           file://trace-cmd/blktrace-api-compatibility.patch"
 S = "${WORKDIR}/git"
 
 EXTRA_OEMAKE = "'CC=${CC}' 'AR=${AR}' 'prefix=${prefix}' gui"
meta/recipes-kernel/trace-cmd/trace-cmd/blktrace-api-compatibility.patch new file +29 -0
new file mode 100644
index 0000000..0789e9f
@@ -0,0 +1,29 @@
+trace-cmd: Add blktrace_api compatibility for TC_BARRIER
+
+Newer kernels replace TC_BARRIER with TC_FLUSH. Ensure trace-cmd
+can build regardless of the linux-kernel-headers version.
+
+Upstream-Status: Innapropriate [Stop gap]
+
+Signed-off-by: Darren Hart <[email protected]>
+
+diff --git a/plugin_blk.c b/plugin_blk.c
+index 9327b17..c8e5e1c 100644
+--- a/plugin_blk.c
++++ b/plugin_blk.c
+@@ -44,6 +44,15 @@ struct blk_data {
+ 	unsigned short		pdu_len;
+ };
+ 
++/*
++ * Newer kernels don't define BLK_TC_BARRIER and have replaced it with
++ * BLK_TC_FLUSH. In this case, define it here and report FLUSHES as BARRIERS as
++ * a workaround, as described in:
++ * http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=c09c47caedc9854d59378d6e34c989e51cfdd2b4
++ */
++#ifndef BLK_TC_BARRIER
++#define BLK_TC_BARRIER 1<<2
++#endif
+ static void fill_rwbs(char *rwbs, int action, unsigned int bytes)
+ {
+ 	int i = 0;
meta/recipes-kernel/trace-cmd/trace-cmd_1.2.bb +2 -1
index 1b9231b..38bfbb5 100644
@@ -11,7 +11,8 @@ inherit pkgconfig
 
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;protocol=git \
            file://addldflags.patch \
-           file://make-docs-optional.patch"
+           file://make-docs-optional.patch \
+           file://trace-cmd/blktrace-api-compatibility.patch"
 S = "${WORKDIR}/git"
 
 EXTRA_OEMAKE = "'prefix=${prefix}'"
Signature · 1 line
1.7.6.4
#2 lore raw
In reply to Darren Hart
Quoted 4 lines · Darren Hart

From: Darren Hart <[email protected]>

The following changes since commit 2ebfb9d9ed7554180c3c077b14291a1853f8e2ef:

Quoted 8 lines

puzzles: Ensure to link against libm for math functions (2011-12-01 14:30:49 +0000)

are available in the git repository at:
git://git.yoctoproject.org/user-contrib/dvhart/oe-core trace-cmd
http://git.yoctoproject.org/cgit.cgi/user-contrib/dvhart/oe-core/log/?h=trace-cmd

Darren Hart (1):
trace-cmd: Add blktrace_api compatibility for TC_BARRIER

I tested this and found it needed a couple of tweaks (fix the SRC_URI and add PR bumps). I fixed that and have merged it.

Cheers,

Richard