splice: don't call file_accessed in copy_splice_read
authorChristoph Hellwig <hch@lst.de>
Wed, 14 Jun 2023 14:03:38 +0000 (16:03 +0200)
committerJens Axboe <axboe@kernel.dk>
Fri, 16 Jun 2023 16:08:08 +0000 (10:08 -0600)
copy_splice_read calls into ->read_iter to read the data, which already
calls file_accessed.

Fixes: 33b3b041543e ("splice: Add a func to do a splice from an O_DIRECT file without ITER_PIPE")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Reviewed-by: David Howells <dhowells@redhat.com>
Link: https://lore.kernel.org/r/20230614140341.521331-2-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/splice.c

index 2420ead..87c69fd 100644 (file)
@@ -368,7 +368,6 @@ ssize_t copy_splice_read(struct file *in, loff_t *ppos,
        if (ret > 0) {
                keep = DIV_ROUND_UP(ret, PAGE_SIZE);
                *ppos = kiocb.ki_pos;
-               file_accessed(in);
        } else if (ret < 0) {
                /*
                 * callers of ->splice_read() expect -EAGAIN on