From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Jiri Olsa <jolsa@kernel.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
"David Ahern" <dsahern@gmail.com>,
"Ingo Molnar" <mingo@kernel.org>,
"Namhyung Kim" <namhyung@kernel.org>,
"Peter Zijlstra" <a.p.zijlstra@chello.nl>,
"Matt Fleming" <matt@codeblueprint.co.uk>,
"Raphaël Beamonte" <raphael.beamonte@gmail.com>,
"Steven Rostedt" <rostedt@goodmis.org>
Subject: Re: [PATCH 05/15] tools lib api: Move debugfs__strerror_open into tracing_path.c object
Date: Wed, 2 Sep 2015 10:12:29 -0300 [thread overview]
Message-ID: <20150902131229.GF12722@kernel.org> (raw)
In-Reply-To: <1441180605-24737-6-git-send-email-jolsa@kernel.org>
Em Wed, Sep 02, 2015 at 09:56:35AM +0200, Jiri Olsa escreveu:
> Moving debugfs__strerror_open out of api/fs/debugfs.c,
> because it's not debugfs specific. It'll be changed to
> consider tracefs mount as well in following patches.
>
> Renaming it into tracing_path__strerror_open_tp to fit
> into the namespace. No functional change is intended.
Humm, here I think that "_path" may look excessive... But tracing_path__ better
than debugfs__, so its progress, applying, if we get a better name, we
can change this later.
- Arnaldo
> Link: http://lkml.kernel.org/n/tip-bq0f0l4r0bjvy0pjp4m759kv@git.kernel.org
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> ---
> tools/lib/api/fs/debugfs.c | 52 ---------------------------------------
> tools/lib/api/fs/tracing_path.c | 54 +++++++++++++++++++++++++++++++++++++++++
> tools/lib/api/fs/tracing_path.h | 3 +++
> tools/perf/builtin-trace.c | 5 ++--
> 4 files changed, 60 insertions(+), 54 deletions(-)
>
> diff --git a/tools/lib/api/fs/debugfs.c b/tools/lib/api/fs/debugfs.c
> index eb7cf4d18f8a..c707cfb32782 100644
> --- a/tools/lib/api/fs/debugfs.c
> +++ b/tools/lib/api/fs/debugfs.c
> @@ -75,55 +75,3 @@ char *debugfs_mount(const char *mountpoint)
> out:
> return debugfs_mountpoint;
> }
> -
> -int debugfs__strerror_open(int err, char *buf, size_t size, const char *filename)
> -{
> - char sbuf[128];
> -
> - switch (err) {
> - case ENOENT:
> - if (debugfs_found) {
> - snprintf(buf, size,
> - "Error:\tFile %s/%s not found.\n"
> - "Hint:\tPerhaps this kernel misses some CONFIG_ setting to enable this feature?.\n",
> - debugfs_mountpoint, filename);
> - break;
> - }
> - snprintf(buf, size, "%s",
> - "Error:\tUnable to find debugfs\n"
> - "Hint:\tWas your kernel compiled with debugfs support?\n"
> - "Hint:\tIs the debugfs filesystem mounted?\n"
> - "Hint:\tTry 'sudo mount -t debugfs nodev /sys/kernel/debug'");
> - break;
> - case EACCES: {
> - const char *mountpoint = debugfs_mountpoint;
> -
> - if (!access(debugfs_mountpoint, R_OK) && strncmp(filename, "tracing/", 8) == 0) {
> - const char *tracefs_mntpoint = tracefs_find_mountpoint();
> -
> - if (tracefs_mntpoint)
> - mountpoint = tracefs_mntpoint;
> - }
> -
> - snprintf(buf, size,
> - "Error:\tNo permissions to read %s/%s\n"
> - "Hint:\tTry 'sudo mount -o remount,mode=755 %s'\n",
> - debugfs_mountpoint, filename, mountpoint);
> - }
> - break;
> - default:
> - snprintf(buf, size, "%s", strerror_r(err, sbuf, sizeof(sbuf)));
> - break;
> - }
> -
> - return 0;
> -}
> -
> -int debugfs__strerror_open_tp(int err, char *buf, size_t size, const char *sys, const char *name)
> -{
> - char path[PATH_MAX];
> -
> - snprintf(path, PATH_MAX, "tracing/events/%s/%s", sys, name ?: "*");
> -
> - return debugfs__strerror_open(err, buf, size, path);
> -}
> diff --git a/tools/lib/api/fs/tracing_path.c b/tools/lib/api/fs/tracing_path.c
> index 1fd6e1f99234..3b3e4f5fc50b 100644
> --- a/tools/lib/api/fs/tracing_path.c
> +++ b/tools/lib/api/fs/tracing_path.c
> @@ -5,6 +5,8 @@
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
> +#include <errno.h>
> +#include <unistd.h>
> #include "debugfs.h"
> #include "tracefs.h"
>
> @@ -81,3 +83,55 @@ void put_tracing_file(char *file)
> {
> free(file);
> }
> +
> +static int strerror_open(int err, char *buf, size_t size, const char *filename)
> +{
> + char sbuf[128];
> +
> + switch (err) {
> + case ENOENT:
> + if (debugfs_configured()) {
> + snprintf(buf, size,
> + "Error:\tFile %s/%s not found.\n"
> + "Hint:\tPerhaps this kernel misses some CONFIG_ setting to enable this feature?.\n",
> + debugfs_mountpoint, filename);
> + break;
> + }
> + snprintf(buf, size, "%s",
> + "Error:\tUnable to find debugfs\n"
> + "Hint:\tWas your kernel compiled with debugfs support?\n"
> + "Hint:\tIs the debugfs filesystem mounted?\n"
> + "Hint:\tTry 'sudo mount -t debugfs nodev /sys/kernel/debug'");
> + break;
> + case EACCES: {
> + const char *mountpoint = debugfs_mountpoint;
> +
> + if (!access(debugfs_mountpoint, R_OK) && strncmp(filename, "tracing/", 8) == 0) {
> + const char *tracefs_mntpoint = tracefs_find_mountpoint();
> +
> + if (tracefs_mntpoint)
> + mountpoint = tracefs_mntpoint;
> + }
> +
> + snprintf(buf, size,
> + "Error:\tNo permissions to read %s/%s\n"
> + "Hint:\tTry 'sudo mount -o remount,mode=755 %s'\n",
> + debugfs_mountpoint, filename, mountpoint);
> + }
> + break;
> + default:
> + snprintf(buf, size, "%s", strerror_r(err, sbuf, sizeof(sbuf)));
> + break;
> + }
> +
> + return 0;
> +}
> +
> +int tracing_path__strerror_open_tp(int err, char *buf, size_t size, const char *sys, const char *name)
> +{
> + char path[PATH_MAX];
> +
> + snprintf(path, PATH_MAX, "tracing/events/%s/%s", sys, name ?: "*");
> +
> + return strerror_open(err, buf, size, path);
> +}
> diff --git a/tools/lib/api/fs/tracing_path.h b/tools/lib/api/fs/tracing_path.h
> index b132dc599fe5..3f233ac70b6f 100644
> --- a/tools/lib/api/fs/tracing_path.h
> +++ b/tools/lib/api/fs/tracing_path.h
> @@ -1,6 +1,8 @@
> #ifndef __API_FS_TRACING_PATH_H
> #define __API_FS_TRACING_PATH_H
>
> +#include <linux/types.h>
> +
> extern char tracing_path[];
> extern char tracing_events_path[];
>
> @@ -10,4 +12,5 @@ const char *tracing_path_mount(void);
> char *get_tracing_file(const char *name);
> void put_tracing_file(char *file);
>
> +int tracing_path__strerror_open_tp(int err, char *buf, size_t size, const char *sys, const char *name);
> #endif /* __API_FS_TRACING_PATH_H */
> diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
> index 4e3abba03062..215653274102 100644
> --- a/tools/perf/builtin-trace.c
> +++ b/tools/perf/builtin-trace.c
> @@ -17,6 +17,7 @@
> */
>
> #include <traceevent/event-parse.h>
> +#include <api/fs/tracing_path.h>
> #include "builtin.h"
> #include "util/color.h"
> #include "util/debug.h"
> @@ -2686,11 +2687,11 @@ out_delete_evlist:
> char errbuf[BUFSIZ];
>
> out_error_sched_stat_runtime:
> - debugfs__strerror_open_tp(errno, errbuf, sizeof(errbuf), "sched", "sched_stat_runtime");
> + tracing_path__strerror_open_tp(errno, errbuf, sizeof(errbuf), "sched", "sched_stat_runtime");
> goto out_error;
>
> out_error_raw_syscalls:
> - debugfs__strerror_open_tp(errno, errbuf, sizeof(errbuf), "raw_syscalls", "sys_(enter|exit)");
> + tracing_path__strerror_open_tp(errno, errbuf, sizeof(errbuf), "raw_syscalls", "sys_(enter|exit)");
> goto out_error;
>
> out_error_mmap:
> --
> 2.4.3
next prev parent reply other threads:[~2015-09-02 13:12 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-02 7:56 [PATCH 00/15] perf tools: Cleanup filesystem api Jiri Olsa
2015-09-02 7:56 ` [PATCH 01/15] perf tools: Fix parse_events_add_pmu caller Jiri Olsa
2015-09-02 13:00 ` Arnaldo Carvalho de Melo
2015-09-02 13:34 ` Jiri Olsa
2015-09-05 14:00 ` [tip:perf/urgent] " tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 02/15] perf tools: Remove mountpoint arg from perf_debugfs_mount Jiri Olsa
2015-09-08 14:32 ` [tip:perf/core] " tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 03/15] perf tools: Move tracing_path stuff under same namespace Jiri Olsa
2015-09-08 14:33 ` [tip:perf/core] " tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 04/15] perf tools: Move tracing_path interface into api/fs/tracing_path.c Jiri Olsa
2015-09-04 11:35 ` Matt Fleming
2015-09-04 13:28 ` Raphaël Beamonte
2015-09-08 14:33 ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 05/15] tools lib api: Move debugfs__strerror_open into tracing_path.c object Jiri Olsa
2015-09-02 13:12 ` Arnaldo Carvalho de Melo [this message]
2015-09-04 11:36 ` Matt Fleming
2015-09-04 13:41 ` Raphaël Beamonte
2015-09-04 13:48 ` Jiri Olsa
2015-09-04 13:51 ` Raphaël Beamonte
2015-09-08 14:33 ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 06/15] tools lib api: Make tracing_path_strerror_open message generic Jiri Olsa
2015-09-02 13:18 ` Arnaldo Carvalho de Melo
2015-09-02 13:44 ` Jiri Olsa
2015-09-02 14:16 ` Arnaldo Carvalho de Melo
2015-09-15 6:59 ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 07/15] tools lib api: Add STR and PATH_MAX macros to fs object Jiri Olsa
2015-09-08 14:34 ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 08/15] tools lib api: Move SYSFS_MAGIC PROC_SUPER_MAGIC into fs.c Jiri Olsa
2015-09-08 14:34 ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 09/15] tools lib api: Add debugfs into fs.c object Jiri Olsa
2015-09-08 14:34 ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 10/15] tools lib api: Add tracefs " Jiri Olsa
2015-09-08 14:35 ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 11/15] tools lib api: Add mount support for fs Jiri Olsa
2015-09-04 14:14 ` Raphaël Beamonte
2015-09-04 14:20 ` Steven Rostedt
2015-09-04 14:26 ` Jiri Olsa
2015-09-04 14:57 ` Steven Rostedt
2015-09-04 15:00 ` Steven Rostedt
2015-09-04 15:12 ` Raphaël Beamonte
2015-09-08 14:35 ` [tip:perf/core] tools lib api fs: Add FSTYPE__mount() method tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 12/15] tools lib api: Add configured support for fs Jiri Olsa
2015-09-02 13:39 ` Arnaldo Carvalho de Melo
2015-09-02 13:41 ` Arnaldo Carvalho de Melo
2015-09-02 13:46 ` Jiri Olsa
2015-09-02 14:17 ` Arnaldo Carvalho de Melo
2015-09-02 16:52 ` Arnaldo Carvalho de Melo
2015-09-04 7:08 ` Jiri Olsa
2015-09-04 16:42 ` Arnaldo Carvalho de Melo
2015-09-04 17:45 ` Jiri Olsa
2015-09-08 14:35 ` [tip:perf/core] tools lib api fs: Add FSTYPE__configured() method tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 13/15] tools lib api: Replace debugfs/tracefs objects interface with fs.c Jiri Olsa
2015-09-15 6:59 ` [tip:perf/core] tools lib api fs: Replace debugfs/ tracefs " tip-bot for Jiri Olsa
2015-09-02 7:56 ` [PATCH 14/15] tools lib api: Remove debugfs, tracefs and findfs objects Jiri Olsa
2015-09-15 6:59 ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-22 0:20 ` Vinson Lee
2015-09-22 13:53 ` Arnaldo Carvalho de Melo
2015-09-22 21:29 ` Vinson Lee
2015-09-23 8:23 ` Matt Fleming
2015-09-23 8:39 ` Jiri Olsa
2015-09-23 10:08 ` Matt Fleming
2015-09-24 15:05 ` Michael Petlan
2015-10-07 20:10 ` Matt Fleming
2015-10-13 19:18 ` Arnaldo Carvalho de Melo
2015-09-23 13:44 ` Arnaldo Carvalho de Melo
2015-09-23 13:50 ` Jiri Olsa
2015-09-23 13:54 ` Arnaldo Carvalho de Melo
2015-09-24 12:15 ` Matt Fleming
2015-09-24 14:29 ` Arnaldo Carvalho de Melo
2015-09-02 7:56 ` [PATCH 15/15] perf tools: Switch to tracing_path interface on appropriate places Jiri Olsa
2015-09-15 7:00 ` [tip:perf/core] " tip-bot for Jiri Olsa
2015-09-02 8:01 ` [PATCH 00/15] perf tools: Cleanup filesystem api Jiri Olsa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150902131229.GF12722@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matt@codeblueprint.co.uk \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=raphael.beamonte@gmail.com \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.