diff options
author | Jiri Olsa <jolsa@kernel.org> | 2018-08-17 11:48:10 +0200 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2018-08-20 13:54:59 +0200 |
commit | 8b42b7e5e8b5692bc5e57342bf00c40d64978407 (patch) | |
tree | 92cf5327174b5136e4ab83f080f4c3cad98c87cc /tools/perf/util/compress.h | |
parent | perf tools: Move the temp file processing into decompress_kmodule (diff) | |
download | linux-8b42b7e5e8b5692bc5e57342bf00c40d64978407.tar.xz linux-8b42b7e5e8b5692bc5e57342bf00c40d64978407.zip |
perf tools: Add is_compressed callback to compressions array
Add is_compressed callback to the compressions array, that returns 0 if
the file is compressed or != 0 if not.
The new callback is used to recognize the situation when we have a
'compressed' object, like:
/lib/modules/.../drivers/net/ethernet/intel/igb/igb.ko.xz
but we need to read its debug data from debuginfo files, which might not
be compressed, like:
/root/.debug/.build-id/d6/...c4b301f/debug
So even for a 'compressed' object we read debug data from a plain
uncompressed object. To keep this transparent, we detect this in
decompress_kmodule() and return the file descriptor to the uncompressed
file.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180817094813.15086-11-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/compress.h')
-rw-r--r-- | tools/perf/util/compress.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/perf/util/compress.h b/tools/perf/util/compress.h index ecca688a25fb..892e92e7e7fc 100644 --- a/tools/perf/util/compress.h +++ b/tools/perf/util/compress.h @@ -4,10 +4,12 @@ #ifdef HAVE_ZLIB_SUPPORT int gzip_decompress_to_file(const char *input, int output_fd); +bool gzip_is_compressed(const char *input); #endif #ifdef HAVE_LZMA_SUPPORT int lzma_decompress_to_file(const char *input, int output_fd); +bool lzma_is_compressed(const char *input); #endif #endif /* PERF_COMPRESS_H */ |