[PATCH] pstore/ftrace: add a kernel parameter to start pstore recording

From: Uwe Kleine-König
Date: Thu Jun 10 2021 - 04:22:16 EST


With this knob you can enable pstore recording early enough to debug
hangs happening during the boot process before userspace is up enough to
enable it via sysfs.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
---
fs/pstore/ftrace.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/fs/pstore/ftrace.c b/fs/pstore/ftrace.c
index 5939595f0115..92d35ee83c95 100644
--- a/fs/pstore/ftrace.c
+++ b/fs/pstore/ftrace.c
@@ -117,13 +117,26 @@ static const struct file_operations pstore_knob_fops = {

static struct dentry *pstore_ftrace_dir;

+static unsigned int record_ftrace_init;
+module_param(record_ftrace_init, uint, 0400);
+
void pstore_register_ftrace(void)
{
+ int ret;
+
if (!psinfo->write)
return;

pstore_ftrace_dir = debugfs_create_dir("pstore", NULL);

+ if (record_ftrace_init) {
+ ret = register_ftrace_function(&pstore_ftrace_ops);
+ if (ret)
+ return;
+
+ pstore_ftrace_enabled = 1;
+ }
+
debugfs_create_file("record_ftrace", 0600, pstore_ftrace_dir, NULL,
&pstore_knob_fops);
}
--
2.29.2