All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu <mhiramat@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>,
	linux-kernel@vger.kernel.org, Namhyung Kim <namhyung@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Hemant Kumar <hemant@linux.vnet.ibm.com>,
	Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
Subject: [PATCH perf/core v6 02/14] perf-buildid-cache: Use lsdir for looking up buildid caches
Date: Fri, 29 Apr 2016 21:45:27 +0900	[thread overview]
Message-ID: <20160429124527.11856.7511.stgit@devbox> (raw)
In-Reply-To: <20160429124507.11856.25150.stgit@devbox>

From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>

Use new lsdir() for looking up buildid caches. This changes
logic a bit to ignore all dot files, since the build-id
cache must not start with dot.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
---
 tools/perf/util/build-id.c |   30 +++++-------------------------
 1 file changed, 5 insertions(+), 25 deletions(-)

diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c
index 387581a..20b40f5 100644
--- a/tools/perf/util/build-id.c
+++ b/tools/perf/util/build-id.c
@@ -395,38 +395,18 @@ int build_id_cache__list_build_ids(const char *pathname,
 {
 	struct strlist *list;
 	char *dir_name;
-	DIR *dir;
-	struct dirent *d;
 	int ret = 0;
 
-	list = strlist__new(NULL, NULL);
 	dir_name = build_id_cache__dirname_from_path(pathname, false, false,
 						     NULL);
-	if (!list || !dir_name) {
-		ret = -ENOMEM;
-		goto out;
-	}
+	if (!dir_name)
+		return -ENOMEM;
 
-	/* List up all dirents */
-	dir = opendir(dir_name);
-	if (!dir) {
+	list = lsdir(dir_name, lsdir_no_dot_filter);
+	if (!list)
 		ret = -errno;
-		goto out;
-	}
-
-	while ((d = readdir(dir)) != NULL) {
-		if (!strcmp(d->d_name, ".") || !strcmp(d->d_name, ".."))
-			continue;
-		strlist__add(list, d->d_name);
-	}
-	closedir(dir);
-
-out:
+	*result = list;
 	free(dir_name);
-	if (ret)
-		strlist__delete(list);
-	else
-		*result = list;
 
 	return ret;
 }

  parent reply	other threads:[~2016-04-29 12:45 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-29 12:45 [PATCH perf/core v6 00/14] perf-probe --cache and SDT support Masami Hiramatsu
2016-04-29 12:45 ` [PATCH perf/core v6 01/14] perf-buildid-cache: Use path/to/bin/buildid/elf instead of path/to/bin/buildid Masami Hiramatsu
2016-04-29 12:45 ` Masami Hiramatsu [this message]
2016-04-29 12:45 ` [PATCH perf/core v6 03/14] perf probe: Add --cache option to cache the probe definitions Masami Hiramatsu
2016-04-29 12:45 ` [PATCH perf/core v6 04/14] perf probe: Use cache entry if possible Masami Hiramatsu
2016-04-29 12:45 ` [PATCH perf/core v6 05/14] perf probe: Show all cached probes Masami Hiramatsu
2016-04-29 12:46 ` [PATCH perf/core v6 06/14] perf probe: Remove caches when --cache is given Masami Hiramatsu
2016-04-29 12:46 ` [PATCH perf/core v6 07/14] perf/sdt: ELF support for SDT Masami Hiramatsu
2016-04-29 12:46 ` [PATCH perf/core v6 08/14] perf probe: Add group name support Masami Hiramatsu
2016-04-29 12:46 ` [PATCH perf/core v6 09/14] perf buildid-cache: Scan and import user SDT events to probe cache Masami Hiramatsu
2016-04-29 12:46 ` [PATCH perf/core v6 10/14] perf probe: Accept %sdt and %cached event name Masami Hiramatsu
2016-04-29 12:46 ` [PATCH perf/core v6 11/14] perf-list: Show SDT and pre-cached events Masami Hiramatsu
2016-04-29 12:47 ` [PATCH perf/core v6 12/14] perf-list: Skip SDTs placed in invalid binaries Masami Hiramatsu
2016-04-29 12:47 ` [PATCH perf/core v6 13/14] perf probe: Allow wildcard for cached events Masami Hiramatsu
2016-04-29 12:47 ` [PATCH perf/core v6 14/14] perf probe: Support @BUILDID or @FILE suffix for SDT events Masami Hiramatsu

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=20160429124527.11856.7511.stgit@devbox \
    --to=mhiramat@kernel.org \
    --cc=acme@kernel.org \
    --cc=ananth@linux.vnet.ibm.com \
    --cc=hemant@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.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.