splice: Use filemap_splice_read() instead of generic_file_splice_read()
Replace pointers to generic_file_splice_read() with calls to filemap_splice_read(). Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Christian Brauner <brauner@kernel.org> cc: Jens Axboe <axboe@kernel.dk> cc: Al Viro <viro@zeniv.linux.org.uk> cc: David Hildenbrand <david@redhat.com> cc: John Hubbard <jhubbard@nvidia.com> cc: linux-mm@kvack.org cc: linux-block@vger.kernel.org cc: linux-fsdevel@vger.kernel.org Link: https://lore.kernel.org/r/20230522135018.2742245-29-dhowells@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
ab82513126
commit
2cb1e08985
@ -691,7 +691,7 @@ const struct file_operations def_blk_fops = {
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = compat_blkdev_ioctl,
|
||||
#endif
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.fallocate = blkdev_fallocate,
|
||||
};
|
||||
|
@ -28,7 +28,7 @@ const struct file_operations adfs_file_operations = {
|
||||
.mmap = generic_file_mmap,
|
||||
.fsync = generic_file_fsync,
|
||||
.write_iter = generic_file_write_iter,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
};
|
||||
|
||||
const struct inode_operations adfs_file_inode_operations = {
|
||||
|
@ -1001,7 +1001,7 @@ const struct file_operations affs_file_operations = {
|
||||
.open = affs_file_open,
|
||||
.release = affs_file_release,
|
||||
.fsync = affs_file_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
};
|
||||
|
||||
const struct inode_operations affs_file_inode_operations = {
|
||||
|
@ -603,5 +603,5 @@ static ssize_t afs_file_splice_read(struct file *in, loff_t *ppos,
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
return generic_file_splice_read(in, ppos, pipe, len, flags);
|
||||
return filemap_splice_read(in, ppos, pipe, len, flags);
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ const struct file_operations bfs_file_operations = {
|
||||
.read_iter = generic_file_read_iter,
|
||||
.write_iter = generic_file_write_iter,
|
||||
.mmap = generic_file_mmap,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
};
|
||||
|
||||
static int bfs_move_block(unsigned long from, unsigned long to,
|
||||
|
@ -3825,7 +3825,7 @@ static ssize_t btrfs_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
|
||||
const struct file_operations btrfs_file_operations = {
|
||||
.llseek = btrfs_file_llseek,
|
||||
.read_iter = btrfs_file_read_iter,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.write_iter = btrfs_file_write_iter,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.mmap = btrfs_file_mmap,
|
||||
|
@ -473,7 +473,7 @@ static unsigned int cramfs_physmem_mmap_capabilities(struct file *file)
|
||||
static const struct file_operations cramfs_physmem_fops = {
|
||||
.llseek = generic_file_llseek,
|
||||
.read_iter = generic_file_read_iter,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.mmap = cramfs_physmem_mmap,
|
||||
#ifndef CONFIG_MMU
|
||||
.get_unmapped_area = cramfs_physmem_get_unmapped_area,
|
||||
|
@ -47,7 +47,7 @@ static ssize_t ecryptfs_read_update_atime(struct kiocb *iocb,
|
||||
/*
|
||||
* ecryptfs_splice_read_update_atime
|
||||
*
|
||||
* generic_file_splice_read updates the atime of upper layer inode. But, it
|
||||
* filemap_splice_read updates the atime of upper layer inode. But, it
|
||||
* doesn't give us a chance to update the atime of the lower layer inode. This
|
||||
* function is a wrapper to generic_file_read. It updates the atime of the
|
||||
* lower level inode if generic_file_read returns without any errors. This is
|
||||
@ -61,7 +61,7 @@ static ssize_t ecryptfs_splice_read_update_atime(struct file *in, loff_t *ppos,
|
||||
ssize_t rc;
|
||||
const struct path *path;
|
||||
|
||||
rc = generic_file_splice_read(in, ppos, pipe, len, flags);
|
||||
rc = filemap_splice_read(in, ppos, pipe, len, flags);
|
||||
if (rc >= 0) {
|
||||
path = ecryptfs_dentry_to_lower_path(in->f_path.dentry);
|
||||
touch_atime(path);
|
||||
|
@ -448,5 +448,5 @@ const struct file_operations erofs_file_fops = {
|
||||
.llseek = generic_file_llseek,
|
||||
.read_iter = erofs_file_read_iter,
|
||||
.mmap = erofs_file_mmap,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
};
|
||||
|
@ -389,7 +389,7 @@ const struct file_operations exfat_file_operations = {
|
||||
#endif
|
||||
.mmap = generic_file_mmap,
|
||||
.fsync = exfat_file_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
};
|
||||
|
||||
|
@ -192,7 +192,7 @@ const struct file_operations ext2_file_operations = {
|
||||
.release = ext2_release_file,
|
||||
.fsync = ext2_fsync,
|
||||
.get_unmapped_area = thp_get_unmapped_area,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
};
|
||||
|
||||
|
@ -155,7 +155,7 @@ static ssize_t ext4_file_splice_read(struct file *in, loff_t *ppos,
|
||||
|
||||
if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))
|
||||
return -EIO;
|
||||
return generic_file_splice_read(in, ppos, pipe, len, flags);
|
||||
return filemap_splice_read(in, ppos, pipe, len, flags);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -209,7 +209,7 @@ const struct file_operations fat_file_operations = {
|
||||
.unlocked_ioctl = fat_generic_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
.fsync = fat_file_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.fallocate = fat_fallocate,
|
||||
};
|
||||
|
@ -3252,7 +3252,7 @@ static const struct file_operations fuse_file_operations = {
|
||||
.lock = fuse_file_lock,
|
||||
.get_unmapped_area = thp_get_unmapped_area,
|
||||
.flock = fuse_file_flock,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.unlocked_ioctl = fuse_file_ioctl,
|
||||
.compat_ioctl = fuse_file_compat_ioctl,
|
||||
|
@ -1568,7 +1568,7 @@ const struct file_operations gfs2_file_fops = {
|
||||
.fsync = gfs2_fsync,
|
||||
.lock = gfs2_lock,
|
||||
.flock = gfs2_flock,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = gfs2_file_splice_write,
|
||||
.setlease = simple_nosetlease,
|
||||
.fallocate = gfs2_fallocate,
|
||||
@ -1599,7 +1599,7 @@ const struct file_operations gfs2_file_fops_nolock = {
|
||||
.open = gfs2_open,
|
||||
.release = gfs2_release,
|
||||
.fsync = gfs2_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = gfs2_file_splice_write,
|
||||
.setlease = generic_setlease,
|
||||
.fallocate = gfs2_fallocate,
|
||||
|
@ -694,7 +694,7 @@ static const struct file_operations hfs_file_operations = {
|
||||
.read_iter = generic_file_read_iter,
|
||||
.write_iter = generic_file_write_iter,
|
||||
.mmap = generic_file_mmap,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.fsync = hfs_file_fsync,
|
||||
.open = hfs_file_open,
|
||||
.release = hfs_file_release,
|
||||
|
@ -372,7 +372,7 @@ static const struct file_operations hfsplus_file_operations = {
|
||||
.read_iter = generic_file_read_iter,
|
||||
.write_iter = generic_file_write_iter,
|
||||
.mmap = generic_file_mmap,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.fsync = hfsplus_file_fsync,
|
||||
.open = hfsplus_file_open,
|
||||
.release = hfsplus_file_release,
|
||||
|
@ -381,7 +381,7 @@ static int hostfs_fsync(struct file *file, loff_t start, loff_t end,
|
||||
|
||||
static const struct file_operations hostfs_file_fops = {
|
||||
.llseek = generic_file_llseek,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.read_iter = generic_file_read_iter,
|
||||
.write_iter = generic_file_write_iter,
|
||||
|
@ -259,7 +259,7 @@ const struct file_operations hpfs_file_ops =
|
||||
.mmap = generic_file_mmap,
|
||||
.release = hpfs_file_release,
|
||||
.fsync = hpfs_file_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.unlocked_ioctl = hpfs_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
};
|
||||
|
@ -56,7 +56,7 @@ const struct file_operations jffs2_file_operations =
|
||||
.unlocked_ioctl=jffs2_ioctl,
|
||||
.mmap = generic_file_readonly_mmap,
|
||||
.fsync = jffs2_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
};
|
||||
|
||||
|
@ -144,7 +144,7 @@ const struct file_operations jfs_file_operations = {
|
||||
.read_iter = generic_file_read_iter,
|
||||
.write_iter = generic_file_write_iter,
|
||||
.mmap = generic_file_mmap,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.fsync = jfs_fsync,
|
||||
.release = jfs_release,
|
||||
|
@ -19,7 +19,7 @@ const struct file_operations minix_file_operations = {
|
||||
.write_iter = generic_file_write_iter,
|
||||
.mmap = generic_file_mmap,
|
||||
.fsync = generic_file_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
};
|
||||
|
||||
static int minix_setattr(struct mnt_idmap *idmap,
|
||||
|
@ -140,7 +140,7 @@ const struct file_operations nilfs_file_operations = {
|
||||
.open = generic_file_open,
|
||||
/* .release = nilfs_release_file, */
|
||||
.fsync = nilfs_sync_file,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
};
|
||||
|
||||
|
@ -1992,7 +1992,7 @@ const struct file_operations ntfs_file_ops = {
|
||||
#endif /* NTFS_RW */
|
||||
.mmap = generic_file_mmap,
|
||||
.open = ntfs_file_open,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
};
|
||||
|
||||
const struct inode_operations ntfs_file_inode_ops = {
|
||||
|
@ -770,7 +770,7 @@ static ssize_t ntfs_file_splice_read(struct file *in, loff_t *ppos,
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
return generic_file_splice_read(in, ppos, pipe, len, flags);
|
||||
return filemap_splice_read(in, ppos, pipe, len, flags);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -2827,7 +2827,7 @@ const struct file_operations ocfs2_fops_no_plocks = {
|
||||
.compat_ioctl = ocfs2_compat_ioctl,
|
||||
#endif
|
||||
.flock = ocfs2_flock,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.fallocate = ocfs2_fallocate,
|
||||
.remap_file_range = ocfs2_remap_file_range,
|
||||
|
@ -334,7 +334,7 @@ const struct file_operations omfs_file_operations = {
|
||||
.write_iter = generic_file_write_iter,
|
||||
.mmap = generic_file_mmap,
|
||||
.fsync = generic_file_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
};
|
||||
|
||||
static int omfs_setattr(struct mnt_idmap *idmap,
|
||||
|
@ -43,7 +43,7 @@ const struct file_operations ramfs_file_operations = {
|
||||
.write_iter = generic_file_write_iter,
|
||||
.mmap = generic_file_mmap,
|
||||
.fsync = noop_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.llseek = generic_file_llseek,
|
||||
.get_unmapped_area = ramfs_mmu_get_unmapped_area,
|
||||
|
@ -43,7 +43,7 @@ const struct file_operations ramfs_file_operations = {
|
||||
.read_iter = generic_file_read_iter,
|
||||
.write_iter = generic_file_write_iter,
|
||||
.fsync = noop_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.llseek = generic_file_llseek,
|
||||
};
|
||||
|
@ -29,7 +29,7 @@ const struct file_operations generic_ro_fops = {
|
||||
.llseek = generic_file_llseek,
|
||||
.read_iter = generic_file_read_iter,
|
||||
.mmap = generic_file_readonly_mmap,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
};
|
||||
|
||||
EXPORT_SYMBOL(generic_ro_fops);
|
||||
|
@ -247,7 +247,7 @@ const struct file_operations reiserfs_file_operations = {
|
||||
.fsync = reiserfs_sync_file,
|
||||
.read_iter = generic_file_read_iter,
|
||||
.write_iter = generic_file_write_iter,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.llseek = generic_file_llseek,
|
||||
};
|
||||
|
@ -78,7 +78,7 @@ static unsigned romfs_mmap_capabilities(struct file *file)
|
||||
const struct file_operations romfs_ro_fops = {
|
||||
.llseek = generic_file_llseek,
|
||||
.read_iter = generic_file_read_iter,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.mmap = romfs_mmap,
|
||||
.get_unmapped_area = romfs_get_unmapped_area,
|
||||
.mmap_capabilities = romfs_mmap_capabilities,
|
||||
|
@ -26,7 +26,7 @@ const struct file_operations sysv_file_operations = {
|
||||
.write_iter = generic_file_write_iter,
|
||||
.mmap = generic_file_mmap,
|
||||
.fsync = generic_file_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
};
|
||||
|
||||
static int sysv_setattr(struct mnt_idmap *idmap,
|
||||
|
@ -1669,7 +1669,7 @@ const struct file_operations ubifs_file_operations = {
|
||||
.mmap = ubifs_file_mmap,
|
||||
.fsync = ubifs_fsync,
|
||||
.unlocked_ioctl = ubifs_ioctl,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.open = fscrypt_file_open,
|
||||
#ifdef CONFIG_COMPAT
|
||||
|
@ -209,7 +209,7 @@ const struct file_operations udf_file_operations = {
|
||||
.write_iter = udf_file_write_iter,
|
||||
.release = udf_release_file,
|
||||
.fsync = generic_file_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
.splice_write = iter_file_splice_write,
|
||||
.llseek = generic_file_llseek,
|
||||
};
|
||||
|
@ -41,5 +41,5 @@ const struct file_operations ufs_file_operations = {
|
||||
.mmap = generic_file_mmap,
|
||||
.open = generic_file_open,
|
||||
.fsync = generic_file_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
};
|
||||
|
@ -217,7 +217,7 @@ const struct file_operations vboxsf_reg_fops = {
|
||||
.open = vboxsf_file_open,
|
||||
.release = vboxsf_file_release,
|
||||
.fsync = noop_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.splice_read = filemap_splice_read,
|
||||
};
|
||||
|
||||
const struct inode_operations vboxsf_reg_iops = {
|
||||
|
Loading…
Reference in New Issue
Block a user