Messages in this thread Patch in this message | | | From | Jiaxing Wang <> | Subject | [PATCH] tracing: Make tracing work when debugfs is not configured in | Date | Fri, 6 Nov 2015 16:04:16 +0800 |
| |
Currently tracing_init_dentry() returns -ENODEV when debugfs is not configured in, which causes tracefs not populated with tracing files and directories, so we will get an empty directory even after we manually mount tracefs.
We can make tracing_init_dentry() return NULL if debugfs is not configured in and can manually mount tracefs. But return -ENODEV if debugfs is configured in but not initialized or failed to create automount point as that would break backward compatibility with older tools.
Signed-off-by: Jiaxing Wang <hello.wjx@gmail.com> --- kernel/trace/trace.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 6e79408..c89296f 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -6721,7 +6721,9 @@ struct dentry *tracing_init_dentry(void) if (tr->dir) return NULL; - if (WARN_ON(!debugfs_initialized())) + if (WARN_ON(!tracefs_initialized()) || + (IS_ENABLED(CONFIG_DEBUG_FS) && + WARN_ON(!debugfs_initialized()))) return ERR_PTR(-ENODEV); /* -- 2.1.4
| |