From: Joachim Henke <joachim.he...@t-systems.com> commit a35d8f016e0b68634035217d06d1c53863456b50 upstream.
Since 5.10, splice() or sendfile() to NILFS2 return EINVAL. This was caused by commit 36e2c7421f02 ("fs: don't allow splice read/write without explicit ops"). This patch initializes the splice_write field in file_operations, like most file systems do, to restore the functionality. Link: https://lkml.kernel.org/r/1612784101-14353-1-git-send-email-konishi.ryus...@gmail.com Signed-off-by: Joachim Henke <joachim.he...@t-systems.com> Signed-off-by: Ryusuke Konishi <konishi.ryus...@gmail.com> Tested-by: Ryusuke Konishi <konishi.ryus...@gmail.com> Cc: <sta...@vger.kernel.org> [5.10+] Signed-off-by: Andrew Morton <a...@linux-foundation.org> Signed-off-by: Linus Torvalds <torva...@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> --- fs/nilfs2/file.c | 1 + 1 file changed, 1 insertion(+) --- a/fs/nilfs2/file.c +++ b/fs/nilfs2/file.c @@ -141,6 +141,7 @@ const struct file_operations nilfs_file_ /* .release = nilfs_release_file, */ .fsync = nilfs_sync_file, .splice_read = generic_file_splice_read, + .splice_write = iter_file_splice_write, }; const struct inode_operations nilfs_file_inode_operations = {