make new_sync_{read,write}() static

All places outside of core VFS that checked ->read and ->write for being NULL or
called the methods directly are gone now, so NULL {read,write} with non-NULL
{read,write}_iter will do the right thing in all cases.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2015-04-03 15:41:18 -04:00
parent 86cc05840a
commit 5d5d568975
59 changed files with 11 additions and 153 deletions

View File

@ -471,3 +471,12 @@ in your dentry operations instead.
[mandatory] [mandatory]
f_dentry is gone; use f_path.dentry, or, better yet, see if you can avoid f_dentry is gone; use f_path.dentry, or, better yet, see if you can avoid
it entirely. it entirely.
--
[mandatory]
never call ->read() and ->write() directly; use __vfs_{read,write} or
wrappers; instead of checking for ->write or ->read being NULL, look for
FMODE_CAN_{WRITE,READ} in file->f_mode.
--
[mandatory]
do _not_ use new_sync_{read,write} for ->read/->write; leave it NULL
instead.

View File

@ -437,8 +437,6 @@ struct dentry *hypfs_create_str(struct dentry *dir,
static const struct file_operations hypfs_file_ops = { static const struct file_operations hypfs_file_ops = {
.open = hypfs_open, .open = hypfs_open,
.release = hypfs_release, .release = hypfs_release,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = hypfs_read_iter, .read_iter = hypfs_read_iter,
.write_iter = hypfs_write_iter, .write_iter = hypfs_write_iter,
.llseek = no_llseek, .llseek = no_llseek,

View File

@ -764,7 +764,6 @@ static const struct file_operations __maybe_unused port_fops = {
static const struct file_operations zero_fops = { static const struct file_operations zero_fops = {
.llseek = zero_lseek, .llseek = zero_lseek,
.read = new_sync_read,
.write = write_zero, .write = write_zero,
.read_iter = read_iter_zero, .read_iter = read_iter_zero,
.aio_write = aio_write_zero, .aio_write = aio_write_zero,
@ -776,7 +775,6 @@ static const struct file_operations zero_fops = {
static const struct file_operations full_fops = { static const struct file_operations full_fops = {
.llseek = full_lseek, .llseek = full_lseek,
.read = new_sync_read,
.read_iter = read_iter_zero, .read_iter = read_iter_zero,
.write = write_full, .write = write_full,
}; };

View File

@ -282,9 +282,7 @@ static long raw_ctl_compat_ioctl(struct file *file, unsigned int cmd,
#endif #endif
static const struct file_operations raw_fops = { static const struct file_operations raw_fops = {
.read = new_sync_read,
.read_iter = blkdev_read_iter, .read_iter = blkdev_read_iter,
.write = new_sync_write,
.write_iter = blkdev_write_iter, .write_iter = blkdev_write_iter,
.fsync = blkdev_fsync, .fsync = blkdev_fsync,
.open = raw_open, .open = raw_open,

View File

@ -1118,8 +1118,6 @@ static const struct file_operations macvtap_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.open = macvtap_open, .open = macvtap_open,
.release = macvtap_release, .release = macvtap_release,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = macvtap_read_iter, .read_iter = macvtap_read_iter,
.write_iter = macvtap_write_iter, .write_iter = macvtap_write_iter,
.poll = macvtap_poll, .poll = macvtap_poll,

View File

@ -2223,8 +2223,6 @@ static void tun_chr_show_fdinfo(struct seq_file *m, struct file *f)
static const struct file_operations tun_fops = { static const struct file_operations tun_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.llseek = no_llseek, .llseek = no_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = tun_chr_read_iter, .read_iter = tun_chr_read_iter,
.write_iter = tun_chr_write_iter, .write_iter = tun_chr_write_iter,
.poll = tun_chr_poll, .poll = tun_chr_poll,

View File

@ -3128,9 +3128,7 @@ int ll_inode_permission(struct inode *inode, int mask)
/* -o localflock - only provides locally consistent flock locks */ /* -o localflock - only provides locally consistent flock locks */
struct file_operations ll_file_operations = { struct file_operations ll_file_operations = {
.read = new_sync_read,
.read_iter = ll_file_read_iter, .read_iter = ll_file_read_iter,
.write = new_sync_write,
.write_iter = ll_file_write_iter, .write_iter = ll_file_write_iter,
.unlocked_ioctl = ll_file_ioctl, .unlocked_ioctl = ll_file_ioctl,
.open = ll_file_open, .open = ll_file_open,
@ -3143,9 +3141,7 @@ struct file_operations ll_file_operations = {
}; };
struct file_operations ll_file_operations_flock = { struct file_operations ll_file_operations_flock = {
.read = new_sync_read,
.read_iter = ll_file_read_iter, .read_iter = ll_file_read_iter,
.write = new_sync_write,
.write_iter = ll_file_write_iter, .write_iter = ll_file_write_iter,
.unlocked_ioctl = ll_file_ioctl, .unlocked_ioctl = ll_file_ioctl,
.open = ll_file_open, .open = ll_file_open,
@ -3161,9 +3157,7 @@ struct file_operations ll_file_operations_flock = {
/* These are for -o noflock - to return ENOSYS on flock calls */ /* These are for -o noflock - to return ENOSYS on flock calls */
struct file_operations ll_file_operations_noflock = { struct file_operations ll_file_operations_noflock = {
.read = new_sync_read,
.read_iter = ll_file_read_iter, .read_iter = ll_file_read_iter,
.write = new_sync_write,
.write_iter = ll_file_write_iter, .write_iter = ll_file_write_iter,
.unlocked_ioctl = ll_file_ioctl, .unlocked_ioctl = ll_file_ioctl,
.open = ll_file_open, .open = ll_file_open,

View File

@ -1061,8 +1061,6 @@ static const struct file_operations ffs_epfile_operations = {
.llseek = no_llseek, .llseek = no_llseek,
.open = ffs_epfile_open, .open = ffs_epfile_open,
.write = new_sync_write,
.read = new_sync_read,
.write_iter = ffs_epfile_write_iter, .write_iter = ffs_epfile_write_iter,
.read_iter = ffs_epfile_read_iter, .read_iter = ffs_epfile_read_iter,
.release = ffs_epfile_release, .release = ffs_epfile_release,

View File

@ -699,8 +699,6 @@ static const struct file_operations ep_io_operations = {
.open = ep_open, .open = ep_open,
.release = ep_release, .release = ep_release,
.llseek = no_llseek, .llseek = no_llseek,
.read = new_sync_read,
.write = new_sync_write,
.unlocked_ioctl = ep_ioctl, .unlocked_ioctl = ep_ioctl,
.read_iter = ep_read_iter, .read_iter = ep_read_iter,
.write_iter = ep_write_iter, .write_iter = ep_write_iter,

View File

@ -641,8 +641,6 @@ static const struct vm_operations_struct v9fs_mmap_file_vm_ops = {
const struct file_operations v9fs_cached_file_operations = { const struct file_operations v9fs_cached_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.open = v9fs_file_open, .open = v9fs_file_open,
@ -654,8 +652,6 @@ const struct file_operations v9fs_cached_file_operations = {
const struct file_operations v9fs_cached_file_operations_dotl = { const struct file_operations v9fs_cached_file_operations_dotl = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.open = v9fs_file_open, .open = v9fs_file_open,
@ -668,8 +664,6 @@ const struct file_operations v9fs_cached_file_operations_dotl = {
const struct file_operations v9fs_file_operations = { const struct file_operations v9fs_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = v9fs_file_read_iter, .read_iter = v9fs_file_read_iter,
.write_iter = v9fs_file_write_iter, .write_iter = v9fs_file_write_iter,
.open = v9fs_file_open, .open = v9fs_file_open,
@ -681,8 +675,6 @@ const struct file_operations v9fs_file_operations = {
const struct file_operations v9fs_file_operations_dotl = { const struct file_operations v9fs_file_operations_dotl = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = v9fs_file_read_iter, .read_iter = v9fs_file_read_iter,
.write_iter = v9fs_file_write_iter, .write_iter = v9fs_file_write_iter,
.open = v9fs_file_open, .open = v9fs_file_open,
@ -695,8 +687,6 @@ const struct file_operations v9fs_file_operations_dotl = {
const struct file_operations v9fs_mmap_file_operations = { const struct file_operations v9fs_mmap_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = v9fs_mmap_file_read_iter, .read_iter = v9fs_mmap_file_read_iter,
.write_iter = v9fs_mmap_file_write_iter, .write_iter = v9fs_mmap_file_write_iter,
.open = v9fs_file_open, .open = v9fs_file_open,
@ -708,8 +698,6 @@ const struct file_operations v9fs_mmap_file_operations = {
const struct file_operations v9fs_mmap_file_operations_dotl = { const struct file_operations v9fs_mmap_file_operations_dotl = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = v9fs_mmap_file_read_iter, .read_iter = v9fs_mmap_file_read_iter,
.write_iter = v9fs_mmap_file_write_iter, .write_iter = v9fs_mmap_file_write_iter,
.open = v9fs_file_open, .open = v9fs_file_open,

View File

@ -23,11 +23,9 @@
const struct file_operations adfs_file_operations = { const struct file_operations adfs_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.fsync = generic_file_fsync, .fsync = generic_file_fsync,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.splice_read = generic_file_splice_read, .splice_read = generic_file_splice_read,
}; };

View File

@ -969,9 +969,7 @@ int affs_file_fsync(struct file *filp, loff_t start, loff_t end, int datasync)
} }
const struct file_operations affs_file_operations = { const struct file_operations affs_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.open = affs_file_open, .open = affs_file_open,

View File

@ -31,8 +31,6 @@ const struct file_operations afs_file_operations = {
.open = afs_open, .open = afs_open,
.release = afs_release, .release = afs_release,
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = afs_file_write, .write_iter = afs_file_write,
.mmap = generic_file_readonly_mmap, .mmap = generic_file_readonly_mmap,

View File

@ -23,9 +23,7 @@
const struct file_operations bfs_file_operations = { const struct file_operations bfs_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.splice_read = generic_file_splice_read, .splice_read = generic_file_splice_read,

View File

@ -1659,8 +1659,6 @@ const struct file_operations def_blk_fops = {
.open = blkdev_open, .open = blkdev_open,
.release = blkdev_close, .release = blkdev_close,
.llseek = block_llseek, .llseek = block_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = blkdev_read_iter, .read_iter = blkdev_read_iter,
.write_iter = blkdev_write_iter, .write_iter = blkdev_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,

View File

@ -2806,8 +2806,6 @@ static loff_t btrfs_file_llseek(struct file *file, loff_t offset, int whence)
const struct file_operations btrfs_file_operations = { const struct file_operations btrfs_file_operations = {
.llseek = btrfs_file_llseek, .llseek = btrfs_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.splice_read = generic_file_splice_read, .splice_read = generic_file_splice_read,
.write_iter = btrfs_file_write_iter, .write_iter = btrfs_file_write_iter,

View File

@ -1331,8 +1331,6 @@ const struct file_operations ceph_file_fops = {
.open = ceph_open, .open = ceph_open,
.release = ceph_release, .release = ceph_release,
.llseek = ceph_llseek, .llseek = ceph_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = ceph_read_iter, .read_iter = ceph_read_iter,
.write_iter = ceph_write_iter, .write_iter = ceph_write_iter,
.mmap = ceph_mmap, .mmap = ceph_mmap,

View File

@ -906,8 +906,6 @@ const struct inode_operations cifs_symlink_inode_ops = {
}; };
const struct file_operations cifs_file_ops = { const struct file_operations cifs_file_ops = {
.read = new_sync_read,
.write = new_sync_write,
.read_iter = cifs_loose_read_iter, .read_iter = cifs_loose_read_iter,
.write_iter = cifs_file_write_iter, .write_iter = cifs_file_write_iter,
.open = cifs_open, .open = cifs_open,
@ -926,8 +924,6 @@ const struct file_operations cifs_file_ops = {
}; };
const struct file_operations cifs_file_strict_ops = { const struct file_operations cifs_file_strict_ops = {
.read = new_sync_read,
.write = new_sync_write,
.read_iter = cifs_strict_readv, .read_iter = cifs_strict_readv,
.write_iter = cifs_strict_writev, .write_iter = cifs_strict_writev,
.open = cifs_open, .open = cifs_open,
@ -947,8 +943,6 @@ const struct file_operations cifs_file_strict_ops = {
const struct file_operations cifs_file_direct_ops = { const struct file_operations cifs_file_direct_ops = {
/* BB reevaluate whether they can be done with directio, no cache */ /* BB reevaluate whether they can be done with directio, no cache */
.read = new_sync_read,
.write = new_sync_write,
.read_iter = cifs_user_readv, .read_iter = cifs_user_readv,
.write_iter = cifs_user_writev, .write_iter = cifs_user_writev,
.open = cifs_open, .open = cifs_open,
@ -967,8 +961,6 @@ const struct file_operations cifs_file_direct_ops = {
}; };
const struct file_operations cifs_file_nobrl_ops = { const struct file_operations cifs_file_nobrl_ops = {
.read = new_sync_read,
.write = new_sync_write,
.read_iter = cifs_loose_read_iter, .read_iter = cifs_loose_read_iter,
.write_iter = cifs_file_write_iter, .write_iter = cifs_file_write_iter,
.open = cifs_open, .open = cifs_open,
@ -986,8 +978,6 @@ const struct file_operations cifs_file_nobrl_ops = {
}; };
const struct file_operations cifs_file_strict_nobrl_ops = { const struct file_operations cifs_file_strict_nobrl_ops = {
.read = new_sync_read,
.write = new_sync_write,
.read_iter = cifs_strict_readv, .read_iter = cifs_strict_readv,
.write_iter = cifs_strict_writev, .write_iter = cifs_strict_writev,
.open = cifs_open, .open = cifs_open,
@ -1006,8 +996,6 @@ const struct file_operations cifs_file_strict_nobrl_ops = {
const struct file_operations cifs_file_direct_nobrl_ops = { const struct file_operations cifs_file_direct_nobrl_ops = {
/* BB reevaluate whether they can be done with directio, no cache */ /* BB reevaluate whether they can be done with directio, no cache */
.read = new_sync_read,
.write = new_sync_write,
.read_iter = cifs_user_readv, .read_iter = cifs_user_readv,
.write_iter = cifs_user_writev, .write_iter = cifs_user_writev,
.open = cifs_open, .open = cifs_open,

View File

@ -219,8 +219,6 @@ int coda_fsync(struct file *coda_file, loff_t start, loff_t end, int datasync)
const struct file_operations coda_file_operations = { const struct file_operations coda_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = coda_file_read_iter, .read_iter = coda_file_read_iter,
.write_iter = coda_file_write_iter, .write_iter = coda_file_write_iter,
.mmap = coda_file_mmap, .mmap = coda_file_mmap,

View File

@ -358,9 +358,7 @@ const struct file_operations ecryptfs_dir_fops = {
const struct file_operations ecryptfs_main_fops = { const struct file_operations ecryptfs_main_fops = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = ecryptfs_read_update_atime, .read_iter = ecryptfs_read_update_atime,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.iterate = ecryptfs_readdir, .iterate = ecryptfs_readdir,
.unlocked_ioctl = ecryptfs_unlocked_ioctl, .unlocked_ioctl = ecryptfs_unlocked_ioctl,

View File

@ -67,8 +67,6 @@ static int exofs_flush(struct file *file, fl_owner_t id)
const struct file_operations exofs_file_operations = { const struct file_operations exofs_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,

View File

@ -92,8 +92,6 @@ int ext2_fsync(struct file *file, loff_t start, loff_t end, int datasync)
*/ */
const struct file_operations ext2_file_operations = { const struct file_operations ext2_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.unlocked_ioctl = ext2_ioctl, .unlocked_ioctl = ext2_ioctl,
@ -111,8 +109,6 @@ const struct file_operations ext2_file_operations = {
#ifdef CONFIG_FS_DAX #ifdef CONFIG_FS_DAX
const struct file_operations ext2_dax_file_operations = { const struct file_operations ext2_dax_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.unlocked_ioctl = ext2_ioctl, .unlocked_ioctl = ext2_ioctl,

View File

@ -50,8 +50,6 @@ static int ext3_release_file (struct inode * inode, struct file * filp)
const struct file_operations ext3_file_operations = { const struct file_operations ext3_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.unlocked_ioctl = ext3_ioctl, .unlocked_ioctl = ext3_ioctl,

View File

@ -607,8 +607,6 @@ loff_t ext4_llseek(struct file *file, loff_t offset, int whence)
const struct file_operations ext4_file_operations = { const struct file_operations ext4_file_operations = {
.llseek = ext4_llseek, .llseek = ext4_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = ext4_file_write_iter, .write_iter = ext4_file_write_iter,
.unlocked_ioctl = ext4_ioctl, .unlocked_ioctl = ext4_ioctl,
@ -627,8 +625,6 @@ const struct file_operations ext4_file_operations = {
#ifdef CONFIG_FS_DAX #ifdef CONFIG_FS_DAX
const struct file_operations ext4_dax_file_operations = { const struct file_operations ext4_dax_file_operations = {
.llseek = ext4_llseek, .llseek = ext4_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = ext4_file_write_iter, .write_iter = ext4_file_write_iter,
.unlocked_ioctl = ext4_ioctl, .unlocked_ioctl = ext4_ioctl,

View File

@ -1104,8 +1104,6 @@ long f2fs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
const struct file_operations f2fs_file_operations = { const struct file_operations f2fs_file_operations = {
.llseek = f2fs_llseek, .llseek = f2fs_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.open = generic_file_open, .open = generic_file_open,

View File

@ -170,8 +170,6 @@ int fat_file_fsync(struct file *filp, loff_t start, loff_t end, int datasync)
const struct file_operations fat_file_operations = { const struct file_operations fat_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,

View File

@ -177,8 +177,6 @@ static long cuse_file_compat_ioctl(struct file *file, unsigned int cmd,
static const struct file_operations cuse_frontend_fops = { static const struct file_operations cuse_frontend_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = cuse_read_iter, .read_iter = cuse_read_iter,
.write_iter = cuse_write_iter, .write_iter = cuse_write_iter,
.open = cuse_open, .open = cuse_open,

View File

@ -2953,9 +2953,7 @@ static long fuse_file_fallocate(struct file *file, int mode, loff_t offset,
static const struct file_operations fuse_file_operations = { static const struct file_operations fuse_file_operations = {
.llseek = fuse_file_llseek, .llseek = fuse_file_llseek,
.read = new_sync_read,
.read_iter = fuse_file_read_iter, .read_iter = fuse_file_read_iter,
.write = new_sync_write,
.write_iter = fuse_file_write_iter, .write_iter = fuse_file_write_iter,
.mmap = fuse_file_mmap, .mmap = fuse_file_mmap,
.open = fuse_open, .open = fuse_open,
@ -2973,9 +2971,7 @@ static const struct file_operations fuse_file_operations = {
static const struct file_operations fuse_direct_io_file_operations = { static const struct file_operations fuse_direct_io_file_operations = {
.llseek = fuse_file_llseek, .llseek = fuse_file_llseek,
.read = new_sync_read,
.read_iter = fuse_direct_read_iter, .read_iter = fuse_direct_read_iter,
.write = new_sync_write,
.write_iter = fuse_direct_write_iter, .write_iter = fuse_direct_write_iter,
.mmap = fuse_direct_mmap, .mmap = fuse_direct_mmap,
.open = fuse_open, .open = fuse_open,

View File

@ -1064,9 +1064,7 @@ static int gfs2_flock(struct file *file, int cmd, struct file_lock *fl)
const struct file_operations gfs2_file_fops = { const struct file_operations gfs2_file_fops = {
.llseek = gfs2_llseek, .llseek = gfs2_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = gfs2_file_write_iter, .write_iter = gfs2_file_write_iter,
.unlocked_ioctl = gfs2_ioctl, .unlocked_ioctl = gfs2_ioctl,
.mmap = gfs2_mmap, .mmap = gfs2_mmap,
@ -1096,9 +1094,7 @@ const struct file_operations gfs2_dir_fops = {
const struct file_operations gfs2_file_fops_nolock = { const struct file_operations gfs2_file_fops_nolock = {
.llseek = gfs2_llseek, .llseek = gfs2_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = gfs2_file_write_iter, .write_iter = gfs2_file_write_iter,
.unlocked_ioctl = gfs2_ioctl, .unlocked_ioctl = gfs2_ioctl,
.mmap = gfs2_mmap, .mmap = gfs2_mmap,

View File

@ -674,9 +674,7 @@ static int hfs_file_fsync(struct file *filp, loff_t start, loff_t end,
static const struct file_operations hfs_file_operations = { static const struct file_operations hfs_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.splice_read = generic_file_splice_read, .splice_read = generic_file_splice_read,

View File

@ -341,9 +341,7 @@ static const struct inode_operations hfsplus_file_inode_operations = {
static const struct file_operations hfsplus_file_operations = { static const struct file_operations hfsplus_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.splice_read = generic_file_splice_read, .splice_read = generic_file_splice_read,

View File

@ -378,11 +378,9 @@ static int hostfs_fsync(struct file *file, loff_t start, loff_t end,
static const struct file_operations hostfs_file_fops = { static const struct file_operations hostfs_file_fops = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.splice_read = generic_file_splice_read, .splice_read = generic_file_splice_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.write = new_sync_write,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.open = hostfs_file_open, .open = hostfs_file_open,
.release = hostfs_file_release, .release = hostfs_file_release,

View File

@ -197,9 +197,7 @@ const struct address_space_operations hpfs_aops = {
const struct file_operations hpfs_file_ops = const struct file_operations hpfs_file_ops =
{ {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.release = hpfs_file_release, .release = hpfs_file_release,

View File

@ -696,7 +696,6 @@ static void init_once(void *foo)
} }
const struct file_operations hugetlbfs_file_operations = { const struct file_operations hugetlbfs_file_operations = {
.read = new_sync_read,
.read_iter = hugetlbfs_read_iter, .read_iter = hugetlbfs_read_iter,
.mmap = hugetlbfs_file_mmap, .mmap = hugetlbfs_file_mmap,
.fsync = noop_fsync, .fsync = noop_fsync,

View File

@ -51,9 +51,7 @@ const struct file_operations jffs2_file_operations =
{ {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.open = generic_file_open, .open = generic_file_open,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.unlocked_ioctl=jffs2_ioctl, .unlocked_ioctl=jffs2_ioctl,
.mmap = generic_file_readonly_mmap, .mmap = generic_file_readonly_mmap,

View File

@ -151,8 +151,6 @@ const struct inode_operations jfs_file_inode_operations = {
const struct file_operations jfs_file_operations = { const struct file_operations jfs_file_operations = {
.open = jfs_open, .open = jfs_open,
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.write = new_sync_write,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,

View File

@ -271,8 +271,6 @@ const struct file_operations logfs_reg_fops = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.mmap = generic_file_readonly_mmap, .mmap = generic_file_readonly_mmap,
.open = generic_file_open, .open = generic_file_open,
.read = new_sync_read,
.write = new_sync_write,
}; };
const struct address_space_operations logfs_reg_aops = { const struct address_space_operations logfs_reg_aops = {

View File

@ -14,9 +14,7 @@
*/ */
const struct file_operations minix_file_operations = { const struct file_operations minix_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.fsync = generic_file_fsync, .fsync = generic_file_fsync,

View File

@ -249,8 +249,6 @@ static int ncp_release(struct inode *inode, struct file *file) {
const struct file_operations ncp_file_operations = const struct file_operations ncp_file_operations =
{ {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = ncp_file_read_iter, .read_iter = ncp_file_read_iter,
.write_iter = ncp_file_write_iter, .write_iter = ncp_file_write_iter,
.unlocked_ioctl = ncp_ioctl, .unlocked_ioctl = ncp_ioctl,

View File

@ -926,8 +926,6 @@ EXPORT_SYMBOL_GPL(nfs_flock);
const struct file_operations nfs_file_operations = { const struct file_operations nfs_file_operations = {
.llseek = nfs_file_llseek, .llseek = nfs_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = nfs_file_read, .read_iter = nfs_file_read,
.write_iter = nfs_file_write, .write_iter = nfs_file_write,
.mmap = nfs_file_mmap, .mmap = nfs_file_mmap,

View File

@ -170,8 +170,6 @@ const struct file_operations nfs4_file_operations = {
#else #else
.llseek = nfs_file_llseek, .llseek = nfs_file_llseek,
#endif #endif
.read = new_sync_read,
.write = new_sync_write,
.read_iter = nfs_file_read, .read_iter = nfs_file_read,
.write_iter = nfs_file_write, .write_iter = nfs_file_write,
.mmap = nfs_file_mmap, .mmap = nfs_file_mmap,

View File

@ -143,8 +143,6 @@ static int nilfs_file_mmap(struct file *file, struct vm_area_struct *vma)
*/ */
const struct file_operations nilfs_file_operations = { const struct file_operations nilfs_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.unlocked_ioctl = nilfs_ioctl, .unlocked_ioctl = nilfs_ioctl,

View File

@ -2048,10 +2048,8 @@ static int ntfs_file_fsync(struct file *filp, loff_t start, loff_t end,
const struct file_operations ntfs_file_ops = { const struct file_operations ntfs_file_ops = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
#ifdef NTFS_RW #ifdef NTFS_RW
.write = new_sync_write,
.write_iter = ntfs_file_write_iter, .write_iter = ntfs_file_write_iter,
.fsync = ntfs_file_fsync, .fsync = ntfs_file_fsync,
#endif /* NTFS_RW */ #endif /* NTFS_RW */

View File

@ -2676,8 +2676,6 @@ const struct inode_operations ocfs2_special_file_iops = {
*/ */
const struct file_operations ocfs2_fops = { const struct file_operations ocfs2_fops = {
.llseek = ocfs2_file_llseek, .llseek = ocfs2_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.mmap = ocfs2_mmap, .mmap = ocfs2_mmap,
.fsync = ocfs2_sync_file, .fsync = ocfs2_sync_file,
.release = ocfs2_file_release, .release = ocfs2_file_release,
@ -2724,8 +2722,6 @@ const struct file_operations ocfs2_dops = {
*/ */
const struct file_operations ocfs2_fops_no_plocks = { const struct file_operations ocfs2_fops_no_plocks = {
.llseek = ocfs2_file_llseek, .llseek = ocfs2_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.mmap = ocfs2_mmap, .mmap = ocfs2_mmap,
.fsync = ocfs2_sync_file, .fsync = ocfs2_sync_file,
.release = ocfs2_file_release, .release = ocfs2_file_release,

View File

@ -337,8 +337,6 @@ static sector_t omfs_bmap(struct address_space *mapping, sector_t block)
const struct file_operations omfs_file_operations = { const struct file_operations omfs_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,

View File

@ -946,9 +946,7 @@ static int fifo_open(struct inode *inode, struct file *filp)
const struct file_operations pipefifo_fops = { const struct file_operations pipefifo_fops = {
.open = fifo_open, .open = fifo_open,
.llseek = no_llseek, .llseek = no_llseek,
.read = new_sync_read,
.read_iter = pipe_read, .read_iter = pipe_read,
.write = new_sync_write,
.write_iter = pipe_write, .write_iter = pipe_write,
.poll = pipe_poll, .poll = pipe_poll,
.unlocked_ioctl = pipe_ioctl, .unlocked_ioctl = pipe_ioctl,

View File

@ -31,9 +31,7 @@
#include "internal.h" #include "internal.h"
const struct file_operations ramfs_file_operations = { const struct file_operations ramfs_file_operations = {
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.fsync = noop_fsync, .fsync = noop_fsync,

View File

@ -44,9 +44,7 @@ const struct file_operations ramfs_file_operations = {
.mmap_capabilities = ramfs_mmap_capabilities, .mmap_capabilities = ramfs_mmap_capabilities,
.mmap = ramfs_nommu_mmap, .mmap = ramfs_nommu_mmap,
.get_unmapped_area = ramfs_nommu_get_unmapped_area, .get_unmapped_area = ramfs_nommu_get_unmapped_area,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.fsync = noop_fsync, .fsync = noop_fsync,
.splice_read = generic_file_splice_read, .splice_read = generic_file_splice_read,

View File

@ -28,7 +28,6 @@ typedef ssize_t (*iter_fn_t)(struct kiocb *, struct iov_iter *);
const struct file_operations generic_ro_fops = { const struct file_operations generic_ro_fops = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.mmap = generic_file_readonly_mmap, .mmap = generic_file_readonly_mmap,
.splice_read = generic_file_splice_read, .splice_read = generic_file_splice_read,
@ -428,7 +427,7 @@ ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *pp
EXPORT_SYMBOL(do_sync_read); EXPORT_SYMBOL(do_sync_read);
ssize_t new_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos) static ssize_t new_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos)
{ {
struct iovec iov = { .iov_base = buf, .iov_len = len }; struct iovec iov = { .iov_base = buf, .iov_len = len };
struct kiocb kiocb; struct kiocb kiocb;
@ -445,8 +444,6 @@ ssize_t new_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *p
return ret; return ret;
} }
EXPORT_SYMBOL(new_sync_read);
ssize_t __vfs_read(struct file *file, char __user *buf, size_t count, ssize_t __vfs_read(struct file *file, char __user *buf, size_t count,
loff_t *pos) loff_t *pos)
{ {
@ -505,7 +502,7 @@ ssize_t do_sync_write(struct file *filp, const char __user *buf, size_t len, lof
EXPORT_SYMBOL(do_sync_write); EXPORT_SYMBOL(do_sync_write);
ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos) static ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos)
{ {
struct iovec iov = { .iov_base = (void __user *)buf, .iov_len = len }; struct iovec iov = { .iov_base = (void __user *)buf, .iov_len = len };
struct kiocb kiocb; struct kiocb kiocb;
@ -522,8 +519,6 @@ ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, lo
return ret; return ret;
} }
EXPORT_SYMBOL(new_sync_write);
ssize_t __vfs_write(struct file *file, const char __user *p, size_t count, ssize_t __vfs_write(struct file *file, const char __user *p, size_t count,
loff_t *pos) loff_t *pos)
{ {

View File

@ -243,8 +243,6 @@ int reiserfs_commit_page(struct inode *inode, struct page *page,
} }
const struct file_operations reiserfs_file_operations = { const struct file_operations reiserfs_file_operations = {
.read = new_sync_read,
.write = new_sync_write,
.unlocked_ioctl = reiserfs_ioctl, .unlocked_ioctl = reiserfs_ioctl,
#ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT
.compat_ioctl = reiserfs_compat_ioctl, .compat_ioctl = reiserfs_compat_ioctl,

View File

@ -81,7 +81,6 @@ static unsigned romfs_mmap_capabilities(struct file *file)
const struct file_operations romfs_ro_fops = { const struct file_operations romfs_ro_fops = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.splice_read = generic_file_splice_read, .splice_read = generic_file_splice_read,
.mmap = romfs_mmap, .mmap = romfs_mmap,

View File

@ -21,9 +21,7 @@
*/ */
const struct file_operations sysv_file_operations = { const struct file_operations sysv_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.fsync = generic_file_fsync, .fsync = generic_file_fsync,

View File

@ -1580,8 +1580,6 @@ const struct inode_operations ubifs_symlink_inode_operations = {
const struct file_operations ubifs_file_operations = { const struct file_operations ubifs_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write_iter = ubifs_write_iter, .write_iter = ubifs_write_iter,
.mmap = ubifs_file_mmap, .mmap = ubifs_file_mmap,

View File

@ -240,12 +240,10 @@ static int udf_release_file(struct inode *inode, struct file *filp)
} }
const struct file_operations udf_file_operations = { const struct file_operations udf_file_operations = {
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.unlocked_ioctl = udf_ioctl, .unlocked_ioctl = udf_ioctl,
.open = generic_file_open, .open = generic_file_open,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.write = new_sync_write,
.write_iter = udf_file_write_iter, .write_iter = udf_file_write_iter,
.release = udf_release_file, .release = udf_release_file,
.fsync = generic_file_fsync, .fsync = generic_file_fsync,

View File

@ -35,9 +35,7 @@
const struct file_operations ufs_file_operations = { const struct file_operations ufs_file_operations = {
.llseek = generic_file_llseek, .llseek = generic_file_llseek,
.read = new_sync_read,
.read_iter = generic_file_read_iter, .read_iter = generic_file_read_iter,
.write = new_sync_write,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.mmap = generic_file_mmap, .mmap = generic_file_mmap,
.open = generic_file_open, .open = generic_file_open,

View File

@ -1386,8 +1386,6 @@ xfs_file_llseek(
const struct file_operations xfs_file_operations = { const struct file_operations xfs_file_operations = {
.llseek = xfs_file_llseek, .llseek = xfs_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = xfs_file_read_iter, .read_iter = xfs_file_read_iter,
.write_iter = xfs_file_write_iter, .write_iter = xfs_file_write_iter,
.splice_read = xfs_file_splice_read, .splice_read = xfs_file_splice_read,

View File

@ -2576,8 +2576,6 @@ extern ssize_t generic_file_direct_write(struct kiocb *, struct iov_iter *, loff
extern ssize_t generic_perform_write(struct file *, struct iov_iter *, loff_t); extern ssize_t generic_perform_write(struct file *, struct iov_iter *, loff_t);
extern ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos); extern ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos);
extern ssize_t do_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos); extern ssize_t do_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos);
extern ssize_t new_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos);
extern ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos);
ssize_t vfs_iter_read(struct file *file, struct iov_iter *iter, loff_t *ppos); ssize_t vfs_iter_read(struct file *file, struct iov_iter *iter, loff_t *ppos);
ssize_t vfs_iter_write(struct file *file, struct iov_iter *iter, loff_t *ppos); ssize_t vfs_iter_write(struct file *file, struct iov_iter *iter, loff_t *ppos);

View File

@ -3118,8 +3118,6 @@ static const struct file_operations shmem_file_operations = {
.mmap = shmem_mmap, .mmap = shmem_mmap,
#ifdef CONFIG_TMPFS #ifdef CONFIG_TMPFS
.llseek = shmem_file_llseek, .llseek = shmem_file_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = shmem_file_read_iter, .read_iter = shmem_file_read_iter,
.write_iter = generic_file_write_iter, .write_iter = generic_file_write_iter,
.fsync = noop_fsync, .fsync = noop_fsync,

View File

@ -140,8 +140,6 @@ static ssize_t sock_splice_read(struct file *file, loff_t *ppos,
static const struct file_operations socket_file_ops = { static const struct file_operations socket_file_ops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.llseek = no_llseek, .llseek = no_llseek,
.read = new_sync_read,
.write = new_sync_write,
.read_iter = sock_read_iter, .read_iter = sock_read_iter,
.write_iter = sock_write_iter, .write_iter = sock_write_iter,
.poll = sock_poll, .poll = sock_poll,