Messages in this thread | | | Subject | Re: [PATCH] perf vendor events: fix processing for xfs | From | John Garry <> | Date | Wed, 14 Mar 2018 19:39:25 +0000 |
| |
On 14/03/2018 18:53, Arnaldo Carvalho de Melo wrote: > Em Thu, Mar 15, 2018 at 01:10:52AM +0800, John Garry escreveu: >> In the recently introduced support for vendor subdirectory, >> the checking for directory entries under xfs (or any other fs >> which does not support dirent.d_type) is missing the check >> for links for current and parent directory. This can result >> in a broken pmu_events.c being generated. >> >> Fix this by adding the appropriate check in is_leaf_dir(). > > So I'll lookup the patch that introduced the patch and squash this one > with it, so that we don't break 'git bisect' on ppc.
Right, so it's going to be "perf vendor events: add support for pmu events vendor subdirectory".
BTW, I don't think it's specifically ppc which was broken, but just when building from xfs.
Much appreciated, John
> > - Arnaldo > >> Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> >> Signed-off-by: John Garry <john.garry@huawei.com> >> >> diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c >> index 1c01844..db3a594 100644 >> --- a/tools/perf/pmu-events/jevents.c >> +++ b/tools/perf/pmu-events/jevents.c >> @@ -873,7 +873,10 @@ static int is_leaf_dir(const char *fpath) >> return 0; >> >> while ((dir = readdir(d)) != NULL) { >> - if (dir->d_type == DT_DIR && dir->d_name[0] != '.') { >> + if (!strcmp(dir->d_name, ".") || !strcmp(dir->d_name, "..")) >> + continue; >> + >> + if (dir->d_type == DT_DIR) { >> res = 0; >> break; >> } else if (dir->d_type == DT_UNKNOWN) { >> -- >> 1.9.1 > > . >
| |