• Tiezhu Yang's avatar
    perf list: Give clues if failed to open tracing events directory · b48543c4
    Tiezhu Yang authored
    When executing the command "perf list", I met "Error: failed to open
    tracing events directory" twice, the first reason is that there is no
    "/sys/kernel/tracing/events" directory due to it does not enable the
    kernel tracing infrastructure with CONFIG_FTRACE, the second reason
    is that there is no root privileges.
    
    Add the error string to tell the users what happened and what should
    to do, and also call put_tracing_file() to free events_path a little
    later to avoid messy code in the error message.
    
    At the same time, just remove the redundant "/" of the file path in
    the function get_tracing_file(), otherwise it shows something like
    "/sys/kernel/tracing//events".
    
    Before:
    
      $ ./perf list
      Error: failed to open tracing events directory
    
    After:
    
    (1) Without CONFIG_FTRACE
    
      $ ./perf list
      Error: failed to open tracing events directory
      /sys/kernel/tracing/events: No such file or directory
    
    (2) With CONFIG_FTRACE but no root privileges
    
      $ ./perf list
      Error: failed to open tracing events directory
      /sys/kernel/tracing/events: Permission denied
    
    Committer testing:
    
    Redirect stdout to null to quickly test the patch:
    
    Before:
    
      $ perf list > /dev/null
      Error: failed to open tracing events directory
      $
    
    After:
    
      $ perf list > /dev/null
      Error: failed to open tracing events directory
      /sys/kernel/tracing/events: Permission denied
      $
    Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/lkml/20240730062301.23244-3-yangtiezhu@loongson.cnSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    b48543c4
tracing_path.c 3.51 KB