From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Namhyung Kim <namhyung@kernel.org>,
Andi Kleen <andi@firstfloor.org>, David Ahern <dsahern@gmail.com>,
Jiri Olsa <jolsa@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Wang Nan <wangnan0@huawei.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 08/11] perf tools: Add file_only config option to strlist
Date: Tue, 12 Jan 2016 14:59:13 -0300 [thread overview]
Message-ID: <1452621556-10616-9-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1452621556-10616-1-git-send-email-acme@kernel.org>
From: Namhyung Kim <namhyung@kernel.org>
If strlist_config.dirname is present, the strlist__new() tries to load
stirngs from dirname/list file first but if it failes it falls back to
add 'list' as string. But sometimes it's not desired so adds new
file_only field to prevent it.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1452334589-8782-2-git-send-email-namhyung@kernel.org
[ Add documentation for strlist_config::file_only, in the struct definition */
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/strlist.c | 8 ++++++++
tools/perf/util/strlist.h | 9 ++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/strlist.c b/tools/perf/util/strlist.c
index bdf98f6f27bb..0d3dfcb919b4 100644
--- a/tools/perf/util/strlist.c
+++ b/tools/perf/util/strlist.c
@@ -126,6 +126,11 @@ static int strlist__parse_list_entry(struct strlist *slist, const char *s,
err = strlist__load(slist, subst);
goto out;
}
+
+ if (slist->file_only) {
+ err = -ENOENT;
+ goto out;
+ }
}
err = strlist__add(slist, s);
@@ -157,11 +162,13 @@ struct strlist *strlist__new(const char *list, const struct strlist_config *conf
if (slist != NULL) {
bool dupstr = true;
+ bool file_only = false;
const char *dirname = NULL;
if (config) {
dupstr = !config->dont_dupstr;
dirname = config->dirname;
+ file_only = config->file_only;
}
rblist__init(&slist->rblist);
@@ -170,6 +177,7 @@ struct strlist *strlist__new(const char *list, const struct strlist_config *conf
slist->rblist.node_delete = strlist__node_delete;
slist->dupstr = dupstr;
+ slist->file_only = file_only;
if (list && strlist__parse_list(slist, list, dirname) != 0)
goto out_error;
diff --git a/tools/perf/util/strlist.h b/tools/perf/util/strlist.h
index 297565aa7535..ca990029e243 100644
--- a/tools/perf/util/strlist.h
+++ b/tools/perf/util/strlist.h
@@ -13,11 +13,18 @@ struct str_node {
struct strlist {
struct rblist rblist;
- bool dupstr;
+ bool dupstr;
+ bool file_only;
};
+/*
+ * @file_only: When dirname is present, only consider entries as filenames,
+ * that should not be added to the list if dirname/entry is not
+ * found
+ */
struct strlist_config {
bool dont_dupstr;
+ bool file_only;
const char *dirname;
};
--
2.1.0
next prev parent reply other threads:[~2016-01-12 17:59 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-12 17:59 [GIT PULL 00/11] perf/core improvements and fixes Arnaldo Carvalho de Melo
2016-01-12 17:59 ` [PATCH 01/11] perf stat: Fix recort_usage typo Arnaldo Carvalho de Melo
2016-01-12 17:59 ` [PATCH 02/11] perf tools: Fix mmap2 event allocation in synthesize code Arnaldo Carvalho de Melo
2016-01-12 17:59 ` [PATCH 03/11] tools: Make list.h self-sufficient Arnaldo Carvalho de Melo
2016-01-12 17:59 ` [PATCH 04/11] tools: Fix formatting of the "make -C tools" help message Arnaldo Carvalho de Melo
2016-01-12 17:59 ` [PATCH 05/11] tools subcmd: Add missing NORETURN define for parse-options.h Arnaldo Carvalho de Melo
2016-01-12 17:59 ` [PATCH 06/11] perf record: Add --buildid-all option Arnaldo Carvalho de Melo
2016-01-12 17:59 ` [PATCH 07/11] perf tools: Add more usage tips Arnaldo Carvalho de Melo
2016-01-12 17:59 ` Arnaldo Carvalho de Melo [this message]
2016-01-12 17:59 ` [PATCH 09/11] perf tools: Set and pass DOCDIR to builtin-report.c Arnaldo Carvalho de Melo
2016-01-12 17:59 ` [PATCH 10/11] perf ui/tui: Print helpline message as is Arnaldo Carvalho de Melo
2016-01-12 17:59 ` [PATCH 11/11] perf tools: Fallback to srcdir/Documentation/tips.txt Arnaldo Carvalho de Melo
2016-01-13 9:37 ` [GIT PULL 00/11] perf/core improvements and fixes Ingo Molnar
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=1452621556-10616-9-git-send-email-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=andi@firstfloor.org \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=wangnan0@huawei.com \
/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.