On Wed, Dec 06, 2017 at 12:13:15AM +0800, John Garry wrote:

SNIP

> diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
> index b578aa2..a0d489e 100644
> --- a/tools/perf/pmu-events/jevents.c
> +++ b/tools/perf/pmu-events/jevents.c
> @@ -588,7 +588,7 @@ static char *file_name_to_table_name(char *fname)
>        * Derive rest of table name from basename of the JSON file,
>        * replacing hyphens and stripping out .json suffix.
>        */
> -     n = asprintf(&tblname, "pme_%s", basename(fname));
> +     n = asprintf(&tblname, "pme_%s", fname);
>       if (n < 0) {
>               pr_info("%s: asprintf() error %s for file %s\n", prog,
>                               strerror(errno), fname);
> @@ -598,7 +598,7 @@ static char *file_name_to_table_name(char *fname)
>       for (i = 0; i < strlen(tblname); i++) {
>               c = tblname[i];
>  
> -             if (c == '-')
> +             if (c == '-' || c == '/')
>                       tblname[i] = '_';
>               else if (c == '.') {
>                       tblname[i] = '\0';
> @@ -755,15 +755,52 @@ static int get_maxfds(void)
>  static FILE *eventsfp;
>  static char *mapfile;
>  
> +static int isLeafDir(const char *fpath)

we use _ to separate words in functions names

> +{
> +     DIR               *d;
> +     struct dirent *dir;
> +     int res = 1;
> +     d = opendir(fpath);
> +     if (!d)
> +             return 0;
> +
> +     while ((dir = readdir(d)) != NULL) {
> +             if (dir-> d_type == DT_DIR && dir->d_name[0] != '.') {
> +                     res = 0;
> +                     break;

just recently got into a issue on xfs when d_type is DT_UNKNOWN
for directory.. you need to handle it

thanks,
jirka

Reply via email to