Hi Andrew, Please send this to upstream. This fixes a regression of splice() on nilfs2. Thanks, Ryusuke Konishi On Mon, Feb 8, 2021 at 8:35 PM Ryusuke Konishi <konishi.ryusuke@xxxxxxxxx> wrote: > > From: Joachim Henke <joachim.henke@xxxxxxxxxxxxx> > > 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. > > Signed-off-by: Joachim Henke <joachim.henke@xxxxxxxxxxxxx> > Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxx> > Tested-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx # 5.10+ > --- > fs/nilfs2/file.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/nilfs2/file.c b/fs/nilfs2/file.c > index 64bc81363c6c..e1bd592ce700 100644 > --- a/fs/nilfs2/file.c > +++ b/fs/nilfs2/file.c > @@ -141,6 +141,7 @@ static int nilfs_file_mmap(struct file *file, struct vm_area_struct *vma) > /* .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 = { > -- > 1.8.3.1 >