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.

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.

RP: Tweaked the SRC_URI to remove unnecessary path and added PR bump
(From OE-Core rev: 869372e7e11b9ba38fcfb721c460404c6f31db95)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Darren Hart 2011-12-01 16:07:53 +00:00 committed by Richard Purdie
parent a2070fb645
commit 64f3e247df
3 changed files with 35 additions and 4 deletions

View File

@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://kernel-shark.c;beginline=6;endline=8;md5=2c22c965a649ddd7973d7913c5634a5e"
SRCREV = "7055ffd37beeb44714e86a4abc703f7e175a0db5"
PR = "r0"
PR = "r1"
PV = "1.2+git${SRCPV}"
DEPENDS = "gtk+"
@ -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://blktrace-api-compatibility.patch"
S = "${WORKDIR}/git"
EXTRA_OEMAKE = "'CC=${CC}' 'AR=${AR}' 'prefix=${prefix}' gui"

View File

@ -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 <dvhart@linux.intel.com>
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;

View File

@ -4,14 +4,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://trace-cmd.c;beginline=6;endline=8;md5=2c22c965a649ddd7973d7913c5634a5e"
SRCREV = "7055ffd37beeb44714e86a4abc703f7e175a0db5"
PR = "r0"
PR = "r1"
PV = "1.2+git${SRCPV}"
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}'"