perf tools: Let get_tracing_file() return NULL to indicate failure.

So that it can be used by other places.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1363850332-25297-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Namhyung Kim 2013-03-21 16:18:44 +09:00 committed by Arnaldo Carvalho de Melo
parent 62baca8aed
commit 454f8c7d26
1 changed files with 22 additions and 3 deletions

View File

@ -62,7 +62,7 @@ static const char *find_debugfs(void)
const char *path = perf_debugfs_mount(NULL);
if (!path)
die("Your kernel not support debugfs filesystem");
pr_debug("Your kernel does not support the debugfs filesystem");
return path;
}
@ -81,8 +81,12 @@ static const char *find_tracing_dir(void)
return tracing;
debugfs = find_debugfs();
if (!debugfs)
return NULL;
tracing = malloc_or_die(strlen(debugfs) + 9);
tracing = malloc(strlen(debugfs) + 9);
if (!tracing)
return NULL;
sprintf(tracing, "%s/tracing", debugfs);
@ -99,7 +103,9 @@ static char *get_tracing_file(const char *name)
if (!tracing)
return NULL;
file = malloc_or_die(strlen(tracing) + strlen(name) + 2);
file = malloc(strlen(tracing) + strlen(name) + 2);
if (!file)
return NULL;
sprintf(file, "%s/%s", tracing, name);
return file;
@ -170,6 +176,9 @@ static void read_header_files(void)
struct stat st;
path = get_tracing_file("events/header_page");
if (!path)
die("can't get tracing/events/header_page");
if (stat(path, &st) < 0)
die("can't read '%s'", path);
@ -178,6 +187,9 @@ static void read_header_files(void)
put_tracing_file(path);
path = get_tracing_file("events/header_event");
if (!path)
die("can't get tracing/events/header_event");
if (stat(path, &st) < 0)
die("can't read '%s'", path);
@ -251,6 +263,8 @@ static void read_ftrace_files(struct tracepoint_path *tps)
char *path;
path = get_tracing_file("events/ftrace");
if (!path)
die("can't get tracing/events/ftrace");
copy_event_system(path, tps);
@ -279,6 +293,8 @@ static void read_event_files(struct tracepoint_path *tps)
int ret;
path = get_tracing_file("events");
if (!path)
die("can't get tracing/events");
dir = opendir(path);
if (!dir)
@ -343,6 +359,9 @@ static void read_ftrace_printk(void)
int ret;
path = get_tracing_file("printk_formats");
if (!path)
die("can't get tracing/printk_formats");
ret = stat(path, &st);
if (ret < 0) {
/* not found */