There is a bug in perf annotate that it doesn't respect user provided '-i'/'--input' option:
# perf record ls [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.001 MB perf.data (8 samples) ] # mv ./perf.data ./perf.data.new # perf annotate -i ./perf.data.new --stdio failed to open perf.data: No such file or directory (try 'perf record' first) This patch fix it by setting file path after option parsing, like what 'perf report' does. Signed-off-by: Wang Nan <[email protected]> --- tools/perf/builtin-annotate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index 71bf745..929f83c 100644 --- a/tools/perf/builtin-annotate.c +++ b/tools/perf/builtin-annotate.c @@ -283,7 +283,6 @@ int cmd_annotate(int argc, const char **argv, const char *prefix __maybe_unused) }, }; struct perf_data_file file = { - .path = input_name, .mode = PERF_DATA_MODE_READ, }; const struct option options[] = { @@ -342,6 +341,7 @@ int cmd_annotate(int argc, const char **argv, const char *prefix __maybe_unused) setup_browser(true); + file.path = input_name, annotate.session = perf_session__new(&file, false, &annotate.tool); if (annotate.session == NULL) return -1; -- 1.8.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

