trace: Convert trace/seq to use copy_splice_read()
authorDavid Howells <dhowells@redhat.com>
Mon, 22 May 2023 13:50:13 +0000 (14:50 +0100)
committerJens Axboe <axboe@kernel.dk>
Wed, 24 May 2023 14:42:16 +0000 (08:42 -0600)
For the splice from the trace seq buffer, just use copy_splice_read().

In the future, something better can probably be done by gifting pages from
seq->buf into the pipe, but that would require changing seq->buf into a
vmap over an array of pages.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Christoph Hellwig <hch@lst.de>
cc: Al Viro <viro@zeniv.linux.org.uk>
cc: Jens Axboe <axboe@kernel.dk>
cc: Steven Rostedt <rostedt@goodmis.org>
cc: Masami Hiramatsu <mhiramat@kernel.org>
cc: linux-kernel@vger.kernel.org
cc: linux-trace-kernel@vger.kernel.org
cc: linux-fsdevel@vger.kernel.org
cc: linux-block@vger.kernel.org
cc: linux-mm@kvack.org
Link: https://lore.kernel.org/r/20230522135018.2742245-27-dhowells@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
kernel/trace/trace.c

index ebc59781456a2188afe16ad0d92c4af6b466b913..c210d02fac976cc8187e17457abeb344992cfa0b 100644 (file)
@@ -5171,7 +5171,7 @@ static const struct file_operations tracing_fops = {
        .open           = tracing_open,
        .read           = seq_read,
        .read_iter      = seq_read_iter,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = copy_splice_read,
        .write          = tracing_write_stub,
        .llseek         = tracing_lseek,
        .release        = tracing_release,