From: Bert Karwatzki <spasswolf@web.de>
To: amir73il@gmail.com, Jan Kara <jack@suse.cz>,
Christian Brauner <brauner@kernel.org>
Cc: axboe@kernel.dk, dhowells@redhat.com, hch@lst.de,
jlayton@kernel.org, josef@toxicpanda.com,
linux-fsdevel@vger.kernel.org, miklos@szeredi.hu,
viro@zeniv.linux.org.uk, Bert Karwatzki <spasswolf@web.de>,
linux-kernel@vger.kernel.org
Subject: [PATCH] fs: read_write: make default in vfs_copy_file_range() reachable
Date: Tue, 5 Dec 2023 01:16:20 +0100 [thread overview]
Message-ID: <20231205001620.4566-1-spasswolf@web.de> (raw)
In-Reply-To: <20231130141624.3338942-4-amir73il@gmail.com>
If vfs_copy_file_range() is called with (flags & COPY_FILE_SPLICE == 0)
and both file_out->f_op->copy_file_range and file_in->f_op->remap_file_range
are NULL, too, the default call to do_splice_direct() cannot be reached.
This patch adds an else clause to make the default reachable in all
cases.
Signed-off-by: Bert Karwatzki <spasswolf@web.de>
---
fs/read_write.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/read_write.c b/fs/read_write.c
index e0c2c1b5962b..3599c54bd26d 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -1554,6 +1554,8 @@ ssize_t vfs_copy_file_range(struct file *file_in, loff_t pos_in,
/* fallback to splice */
if (ret <= 0)
splice = true;
+ } else {
+ splice = true;
}
file_end_write(file_out);
--
2.39.2
Since linux-next-20231204 I noticed that it was impossible to start the
game Path of Exile (using the steam client). I bisected the error to
commit 05ee2d85cd4ace5cd37dc24132e3fd7f5142ebef. Reverting this commit
in linux-next-20231204 made the game start again and after inserting
printks into vfs_copy_file_range() I found that steam (via python3)
calls this function with (flags & COPY_FILE_SPLICE == 0),
file_out->f_op->copy_file_range == NULL and
file_in->f_op->remap_file_range == NULL so the default is never reached.
This patch adds a catch all else clause so the default is reached in
all cases. This patch fixes the describe issue with steam and Path of
Exile.
Bert Karwatzki
next prev parent reply other threads:[~2023-12-05 0:16 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-30 14:16 [PATCH v2 0/3] Avert possible deadlock with splice() and fanotify Amir Goldstein
2023-11-30 14:16 ` [PATCH v2 1/3] fs: fork splice_file_range() from do_splice_direct() Amir Goldstein
2023-11-30 16:27 ` Jeff Layton
2023-12-04 8:37 ` Christoph Hellwig
2023-12-04 8:38 ` Christoph Hellwig
2023-12-04 13:29 ` Amir Goldstein
2023-12-04 14:07 ` Christoph Hellwig
2023-12-04 14:29 ` Amir Goldstein
2023-12-04 17:16 ` Jan Kara
2023-12-04 18:53 ` Amir Goldstein
2023-11-30 14:16 ` [PATCH v2 2/3] fs: move file_start_write() into direct_splice_actor() Amir Goldstein
2023-12-04 8:38 ` Christoph Hellwig
2023-11-30 14:16 ` [PATCH v2 3/3] fs: use do_splice_direct() for nfsd/ksmbd server-side-copy Amir Goldstein
2023-11-30 16:49 ` Jan Kara
2023-12-04 8:39 ` Christoph Hellwig
2023-12-04 13:19 ` Amir Goldstein
2023-12-04 14:02 ` Christoph Hellwig
2023-12-05 0:16 ` Bert Karwatzki [this message]
2023-12-05 3:45 ` [PATCH] fs: read_write: make default in vfs_copy_file_range() reachable Amir Goldstein
2023-12-05 5:01 ` Amir Goldstein
2023-12-05 9:50 ` Bert Karwatzki
2023-11-30 16:32 ` [PATCH v2 0/3] Avert possible deadlock with splice() and fanotify Jeff Layton
2023-12-01 10:40 ` Christian Brauner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231205001620.4566-1-spasswolf@web.de \
--to=spasswolf@web.de \
--cc=amir73il@gmail.com \
--cc=axboe@kernel.dk \
--cc=brauner@kernel.org \
--cc=dhowells@redhat.com \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=jlayton@kernel.org \
--cc=josef@toxicpanda.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).