poky/meta/recipes-kernel/lttng/lttng-modules/0010-fix-ext4-fast-commit-recovery-path-v5.10.patch
Bruce Ashfield e876c23cd8 lttng-modules: fix build against v5.10+
lttng-modules doesn't currently build against the lastest 5.10-rc
versions.

Upstream lttng does have fixes for the issues, but hasn't done a
release that contains them yet. There are other patches on the
2.12.x branch, but I've skipped them for now as they aren't
necessary for 5.10 builds, and can be picked up with the next
full update.

We also bump the dev-upstream hash to make them easier to pickup
for those building from git.

(From OE-Core rev: 6d1169d2c046d8fa6220ab04863672557aa42cf1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 47201e98bb293d59c5d41986d066fd7614b914fa)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-04 11:45:47 +00:00

100 lines
2.8 KiB
Diff

From a28235f8ffa3c961640a835686dddb5ca600dfaf Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Mon, 26 Oct 2020 17:03:23 -0400
Subject: [PATCH 10/19] fix: ext4: fast commit recovery path (v5.10)
See upstream commit :
commit 8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2
Author: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Date: Thu Oct 15 13:37:59 2020 -0700
ext4: fast commit recovery path
This patch adds fast commit recovery path support for Ext4 file
system. We add several helper functions that are similar in spirit to
e2fsprogs journal recovery path handlers. Example of such functions
include - a simple block allocator, idempotent block bitmap update
function etc. Using these routines and the fast commit log in the fast
commit area, the recovery path (ext4_fc_replay()) performs fast commit
log recovery.
Upstream-Status: Backport
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ia65cf44e108f2df0b458f0d335f33a8f18f50baa
---
instrumentation/events/lttng-module/ext4.h | 41 ++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
index b172c8d9..6e74abad 100644
--- a/instrumentation/events/lttng-module/ext4.h
+++ b/instrumentation/events/lttng-module/ext4.h
@@ -1274,6 +1274,18 @@ LTTNG_TRACEPOINT_EVENT(ext4_ext_load_extent,
)
)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+LTTNG_TRACEPOINT_EVENT(ext4_load_inode,
+ TP_PROTO(struct super_block *sb, unsigned long ino),
+
+ TP_ARGS(sb, ino),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, sb->s_dev)
+ ctf_integer(ino_t, ino, ino)
+ )
+)
+#else
LTTNG_TRACEPOINT_EVENT(ext4_load_inode,
TP_PROTO(struct inode *inode),
@@ -1284,6 +1296,7 @@ LTTNG_TRACEPOINT_EVENT(ext4_load_inode,
ctf_integer(ino_t, ino, inode->i_ino)
)
)
+#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
@@ -1895,6 +1908,34 @@ LTTNG_TRACEPOINT_EVENT(ext4_es_shrink_exit,
#endif
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
+LTTNG_TRACEPOINT_EVENT(ext4_fc_replay_scan,
+ TP_PROTO(struct super_block *sb, int error, int off),
+
+ TP_ARGS(sb, error, off),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, sb->s_dev)
+ ctf_integer(int, error, error)
+ ctf_integer(int, off, off)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT(ext4_fc_replay,
+ TP_PROTO(struct super_block *sb, int tag, int ino, int priv1, int priv2),
+
+ TP_ARGS(sb, tag, ino, priv1, priv2),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, sb->s_dev)
+ ctf_integer(int, tag, tag)
+ ctf_integer(int, ino, ino)
+ ctf_integer(int, priv1, priv1)
+ ctf_integer(int, priv2, priv2)
+ )
+)
+#endif
+
#endif /* LTTNG_TRACE_EXT4_H */
/* This part must be outside protection */
--
2.19.1