[PATCH v3 1/2] libtracecmd: Support querying position within a new compressed block
Ilya Leoshkevich <[email protected]> Fri, 11 Jul 2025 15:25:35 +0200
| Newsgroups | org.kernel.vger.linux-trace-devel |
|---|---|
| Message-ID | <[email protected]> |
tracecmd_compress_lseek() refuses to return position within a new block, because handle->buffer is NULL. Add support for this; do not implement actually seeking within a new block, because this is not required at the moment. Signed-off-by: Ilya Leoshkevich <[email protected]> --- lib/trace-cmd/trace-compress.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/trace-cmd/trace-compress.c b/lib/trace-cmd/trace-compress.c index 2a7a3e24..3e10cf5b 100644 --- a/lib/trace-cmd/trace-compress.c +++ b/lib/trace-cmd/trace-compress.c @@ -132,9 +132,12 @@ off_t tracecmd_compress_lseek(struct tracecmd_compression *handle, off_t offset, { unsigned long p; - if (!handle || !handle->buffer) + if (!handle) return (off_t)-1; + if (!handle->buffer) + return (whence == SEEK_CUR && offset == 0) ? 0 : (off_t)-1; + switch (whence) { case SEEK_CUR: p = handle->pointer + offset; -- 2.50.1