From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754003AbdL1Paf (ORCPT ); Thu, 28 Dec 2017 10:30:35 -0500 Received: from terminus.zytor.com ([65.50.211.136]:59231 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753436AbdL1Pad (ORCPT ); Thu, 28 Dec 2017 10:30:33 -0500 Date: Thu, 28 Dec 2017 07:27:11 -0800 From: tip-bot for Jiri Olsa Message-ID: Cc: namhyung@kernel.org, jolsa@kernel.org, tglx@linutronix.de, peterz@infradead.org, mingo@kernel.org, hpa@zytor.com, acme@redhat.com, linux-kernel@vger.kernel.org, mpetlan@redhat.com, dsahern@gmail.com Reply-To: mingo@kernel.org, peterz@infradead.org, hpa@zytor.com, acme@redhat.com, mpetlan@redhat.com, linux-kernel@vger.kernel.org, dsahern@gmail.com, namhyung@kernel.org, jolsa@kernel.org, tglx@linutronix.de In-Reply-To: <20171206174535.25380-1-jolsa@kernel.org> References: <20171206174535.25380-1-jolsa@kernel.org> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf test: Handle properly readdir DT_UNKNOWN Git-Commit-ID: 378811ac303df13efbe49f3ad1795b63d334ac5d X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 378811ac303df13efbe49f3ad1795b63d334ac5d Gitweb: https://git.kernel.org/tip/378811ac303df13efbe49f3ad1795b63d334ac5d Author: Jiri Olsa AuthorDate: Wed, 6 Dec 2017 18:45:35 +0100 Committer: Arnaldo Carvalho de Melo CommitDate: Wed, 27 Dec 2017 12:15:48 -0300 perf test: Handle properly readdir DT_UNKNOWN Some system can return DT_UNKNOWN in readdir's struct dirent::d_type and we must handle it properly. In this case we can directly check if the entity we found is directory and skip it. Reported-by: Michael Petlan Signed-off-by: Jiri Olsa Cc: David Ahern Cc: Namhyung Kim Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/20171206174535.25380-1-jolsa@kernel.org [ Split from a larger patch ] Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/tests/builtin-test.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c index 766573e..fafa014 100644 --- a/tools/perf/tests/builtin-test.c +++ b/tools/perf/tests/builtin-test.c @@ -411,9 +411,9 @@ static const char *shell_test__description(char *description, size_t size, return description ? trim(description + 1) : NULL; } -#define for_each_shell_test(dir, ent) \ +#define for_each_shell_test(dir, base, ent) \ while ((ent = readdir(dir)) != NULL) \ - if (ent->d_type == DT_REG && ent->d_name[0] != '.') + if (!is_directory(base, ent)) static const char *shell_tests__dir(char *path, size_t size) { @@ -452,7 +452,7 @@ static int shell_tests__max_desc_width(void) if (!dir) return -1; - for_each_shell_test(dir, ent) { + for_each_shell_test(dir, path, ent) { char bf[256]; const char *desc = shell_test__description(bf, sizeof(bf), path, ent->d_name); @@ -504,7 +504,7 @@ static int run_shell_tests(int argc, const char *argv[], int i, int width) if (!dir) return -1; - for_each_shell_test(dir, ent) { + for_each_shell_test(dir, st.dir, ent) { int curr = i++; char desc[256]; struct test test = { @@ -614,7 +614,7 @@ static int perf_test__list_shell(int argc, const char **argv, int i) if (!dir) return -1; - for_each_shell_test(dir, ent) { + for_each_shell_test(dir, path, ent) { int curr = i++; char bf[256]; struct test t = {