diff --git a/drivers/char/raw.c b/drivers/char/raw.c
index 6e8d65e9b1d3c196ea2d2bd76b78530dd0387920..cfb607a64b85bb2ee311d2bdf1e6afacc17eb9c9 100644
--- a/drivers/char/raw.c
+++ b/drivers/char/raw.c
@@ -284,8 +284,8 @@ static long raw_ctl_compat_ioctl(struct file *file, unsigned int cmd,
 #endif
 
 static const struct file_operations raw_fops = {
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= blkdev_aio_write,
 	.fsync		= blkdev_fsync,
diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
index d8223209d4b1d58710dccf7f3eda0b429655fbb4..47e0597d1e9b8ebc4da81547874a0d1f87fdfe50 100644
--- a/fs/9p/vfs_file.c
+++ b/fs/9p/vfs_file.c
@@ -695,7 +695,7 @@ v9fs_cached_file_read(struct file *filp, char __user *data, size_t count,
 {
 	if (filp->f_flags & O_DIRECT)
 		return v9fs_direct_read(filp, data, count, offset);
-	return do_sync_read(filp, data, count, offset);
+	return new_sync_read(filp, data, count, offset);
 }
 
 /**
@@ -850,7 +850,7 @@ const struct file_operations v9fs_cached_file_operations = {
 	.llseek = generic_file_llseek,
 	.read = v9fs_cached_file_read,
 	.write = v9fs_cached_file_write,
-	.aio_read = generic_file_aio_read,
+	.read_iter = generic_file_read_iter,
 	.aio_write = generic_file_aio_write,
 	.open = v9fs_file_open,
 	.release = v9fs_dir_release,
@@ -863,7 +863,7 @@ const struct file_operations v9fs_cached_file_operations_dotl = {
 	.llseek = generic_file_llseek,
 	.read = v9fs_cached_file_read,
 	.write = v9fs_cached_file_write,
-	.aio_read = generic_file_aio_read,
+	.read_iter = generic_file_read_iter,
 	.aio_write = generic_file_aio_write,
 	.open = v9fs_file_open,
 	.release = v9fs_dir_release,
diff --git a/fs/adfs/file.c b/fs/adfs/file.c
index a36da5382b40dc9c09ab6aa59762d9c1a7808b72..3bfc9efa29b452c4b8b834161953bff63876bdac 100644
--- a/fs/adfs/file.c
+++ b/fs/adfs/file.c
@@ -23,8 +23,8 @@
 
 const struct file_operations adfs_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.mmap		= generic_file_mmap,
 	.fsync		= generic_file_fsync,
 	.write		= do_sync_write,
diff --git a/fs/affs/file.c b/fs/affs/file.c
index 8669b6ecddee4cc030e21f39358ce2cf5058bddb..982853f17afc9762fb75efc5465bedb8e277d2e6 100644
--- a/fs/affs/file.c
+++ b/fs/affs/file.c
@@ -27,8 +27,8 @@ static int affs_file_release(struct inode *inode, struct file *filp);
 
 const struct file_operations affs_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,
diff --git a/fs/afs/file.c b/fs/afs/file.c
index 66d50fe2ee459a887511381e8e375db72d2bf1f3..26fd19bfccc30f109ffa554a709520eaa736515a 100644
--- a/fs/afs/file.c
+++ b/fs/afs/file.c
@@ -31,9 +31,9 @@ const struct file_operations afs_file_operations = {
 	.open		= afs_open,
 	.release	= afs_release,
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
+	.read		= new_sync_read,
 	.write		= do_sync_write,
-	.aio_read	= generic_file_aio_read,
+	.read_iter	= generic_file_read_iter,
 	.aio_write	= afs_file_write,
 	.mmap		= generic_file_readonly_mmap,
 	.splice_read	= generic_file_splice_read,
diff --git a/fs/bfs/file.c b/fs/bfs/file.c
index ae28922183357d4c0e4d491a452919e125ba8bc3..0aa788892f93ecb5a99a3961f4ca6dbefeca1b36 100644
--- a/fs/bfs/file.c
+++ b/fs/bfs/file.c
@@ -23,8 +23,8 @@
 
 const struct file_operations bfs_file_operations = {
 	.llseek 	= generic_file_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index ea63a51c148cf60fd270b96c69f82f620dfe16fc..39014d5db9d51466879a3eff955457c287695f61 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -2622,9 +2622,9 @@ static loff_t btrfs_file_llseek(struct file *file, loff_t offset, int whence)
 
 const struct file_operations btrfs_file_operations = {
 	.llseek		= btrfs_file_llseek,
-	.read		= do_sync_read,
+	.read		= new_sync_read,
 	.write		= do_sync_write,
-	.aio_read       = generic_file_aio_read,
+	.read_iter      = generic_file_read_iter,
 	.splice_read	= generic_file_splice_read,
 	.aio_write	= btrfs_file_aio_write,
 	.mmap		= btrfs_file_mmap,
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 5be1f997ecdeffe74f4d4e6e6fb3903a73f6c13d..c57a9b16edd4b828337e19236f828bfcde4987c7 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -888,9 +888,9 @@ const struct inode_operations cifs_symlink_inode_ops = {
 };
 
 const struct file_operations cifs_file_ops = {
-	.read = do_sync_read,
+	.read = new_sync_read,
 	.write = do_sync_write,
-	.aio_read = generic_file_aio_read,
+	.read_iter = generic_file_read_iter,
 	.aio_write = cifs_file_aio_write,
 	.open = cifs_open,
 	.release = cifs_close,
@@ -946,9 +946,9 @@ const struct file_operations cifs_file_direct_ops = {
 };
 
 const struct file_operations cifs_file_nobrl_ops = {
-	.read = do_sync_read,
+	.read = new_sync_read,
 	.write = do_sync_write,
-	.aio_read = generic_file_aio_read,
+	.read_iter = generic_file_read_iter,
 	.aio_write = cifs_file_aio_write,
 	.open = cifs_open,
 	.release = cifs_close,
diff --git a/fs/exofs/file.c b/fs/exofs/file.c
index 491c6c078e7f5e0ac420646288452d93cca86ce2..90d394da747192fedd266e5e22bae230fd98869c 100644
--- a/fs/exofs/file.c
+++ b/fs/exofs/file.c
@@ -67,9 +67,9 @@ static int exofs_flush(struct file *file, fl_owner_t id)
 
 const struct file_operations exofs_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
+	.read		= new_sync_read,
 	.write		= do_sync_write,
-	.aio_read	= generic_file_aio_read,
+	.read_iter	= generic_file_read_iter,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,
 	.open		= generic_file_open,
diff --git a/fs/ext2/file.c b/fs/ext2/file.c
index 44c36e5907655982cc10e26b822cc1061312fbd1..407305072597e8d5925efb95770b5a41437e5103 100644
--- a/fs/ext2/file.c
+++ b/fs/ext2/file.c
@@ -62,9 +62,9 @@ int ext2_fsync(struct file *file, loff_t start, loff_t end, int datasync)
  */
 const struct file_operations ext2_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
+	.read		= new_sync_read,
 	.write		= do_sync_write,
-	.aio_read	= generic_file_aio_read,
+	.read_iter	= generic_file_read_iter,
 	.aio_write	= generic_file_aio_write,
 	.unlocked_ioctl = ext2_ioctl,
 #ifdef CONFIG_COMPAT
diff --git a/fs/ext3/file.c b/fs/ext3/file.c
index aad05311392a046f3df724102580c511185c0fa2..5439d2f0141b6cf66adf891fe77fac7c1d3a2bcf 100644
--- a/fs/ext3/file.c
+++ b/fs/ext3/file.c
@@ -50,9 +50,9 @@ static int ext3_release_file (struct inode * inode, struct file * filp)
 
 const struct file_operations ext3_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
+	.read		= new_sync_read,
 	.write		= do_sync_write,
-	.aio_read	= generic_file_aio_read,
+	.read_iter	= generic_file_read_iter,
 	.aio_write	= generic_file_aio_write,
 	.unlocked_ioctl	= ext3_ioctl,
 #ifdef CONFIG_COMPAT
diff --git a/fs/ext4/file.c b/fs/ext4/file.c
index 063fc1538355972d912553ad6c8e419390f057de..881394280d5f5738c1c398bdde60e90116fb2636 100644
--- a/fs/ext4/file.c
+++ b/fs/ext4/file.c
@@ -593,9 +593,9 @@ loff_t ext4_llseek(struct file *file, loff_t offset, int whence)
 
 const struct file_operations ext4_file_operations = {
 	.llseek		= ext4_llseek,
-	.read		= do_sync_read,
+	.read		= new_sync_read,
 	.write		= do_sync_write,
-	.aio_read	= generic_file_aio_read,
+	.read_iter	= generic_file_read_iter,
 	.aio_write	= ext4_file_write,
 	.unlocked_ioctl = ext4_ioctl,
 #ifdef CONFIG_COMPAT
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 60e7d5448a1d8b705d6a30fb0ea266e0989d3201..0e01fb0bc97c24a6bbfa1ff3fa4d1185dd5fb46f 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -679,9 +679,9 @@ long f2fs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 
 const struct file_operations f2fs_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
+	.read		= new_sync_read,
 	.write		= do_sync_write,
-	.aio_read	= generic_file_aio_read,
+	.read_iter	= generic_file_read_iter,
 	.aio_write	= generic_file_aio_write,
 	.open		= generic_file_open,
 	.mmap		= f2fs_file_mmap,
diff --git a/fs/fat/file.c b/fs/fat/file.c
index 9b104f543056238016c683ef822046a784169f50..29285e990c909fdd49682852928b839ef85bcafd 100644
--- a/fs/fat/file.c
+++ b/fs/fat/file.c
@@ -170,9 +170,9 @@ int fat_file_fsync(struct file *filp, loff_t start, loff_t end, int datasync)
 
 const struct file_operations fat_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
+	.read		= new_sync_read,
 	.write		= do_sync_write,
-	.aio_read	= generic_file_aio_read,
+	.read_iter	= generic_file_read_iter,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,
 	.release	= fat_file_release,
diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
index 80d67253623cb20c16f9e47b9fef3633fcee64c3..763c9a6287d294801a891d4c141541d7683f17c5 100644
--- a/fs/gfs2/file.c
+++ b/fs/gfs2/file.c
@@ -1058,8 +1058,8 @@ static int gfs2_flock(struct file *file, int cmd, struct file_lock *fl)
 
 const struct file_operations gfs2_file_fops = {
 	.llseek		= gfs2_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= gfs2_file_aio_write,
 	.unlocked_ioctl	= gfs2_ioctl,
@@ -1090,8 +1090,8 @@ const struct file_operations gfs2_dir_fops = {
 
 const struct file_operations gfs2_file_fops_nolock = {
 	.llseek		= gfs2_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= gfs2_file_aio_write,
 	.unlocked_ioctl	= gfs2_ioctl,
diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c
index f5fb09ebc8501fd5f0f1c4eda48e6d55fc2a4c7f..6d4055aff1097ffc71086fa98955234b36f34199 100644
--- a/fs/hfs/inode.c
+++ b/fs/hfs/inode.c
@@ -674,8 +674,8 @@ static int hfs_file_fsync(struct file *filp, loff_t start, loff_t end,
 
 static const struct file_operations hfs_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,
diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c
index 76b930ff58aeb415624de0b20a76785036c2f0a1..cccc89e47cb667a0bd2cbb55d9fe56ed83e24d83 100644
--- a/fs/hfsplus/inode.c
+++ b/fs/hfsplus/inode.c
@@ -341,8 +341,8 @@ static const struct inode_operations hfsplus_file_inode_operations = {
 
 static const struct file_operations hfsplus_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
index 9c470fde9878eae280eeb62b7ef9ca3c263c9b4c..ce0005d8ffebbe101bb374acabe4c6101a374f49 100644
--- a/fs/hostfs/hostfs_kern.c
+++ b/fs/hostfs/hostfs_kern.c
@@ -378,9 +378,9 @@ 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,
-	.read		= do_sync_read,
+	.read		= new_sync_read,
 	.splice_read	= generic_file_splice_read,
-	.aio_read	= generic_file_aio_read,
+	.read_iter	= generic_file_read_iter,
 	.aio_write	= generic_file_aio_write,
 	.write		= do_sync_write,
 	.mmap		= generic_file_mmap,
diff --git a/fs/hpfs/file.c b/fs/hpfs/file.c
index 67c1a61e09558e0bb632638b0f65d8316ab9b5f2..bacb478a49907857d7dcd44c10e01c50f708a6e7 100644
--- a/fs/hpfs/file.c
+++ b/fs/hpfs/file.c
@@ -197,8 +197,8 @@ const struct address_space_operations hpfs_aops = {
 const struct file_operations hpfs_file_ops =
 {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,
diff --git a/fs/jffs2/file.c b/fs/jffs2/file.c
index 256cd19a3b78c006a1439f893b1b51a0341c938a..9192127d591cd8e5ee04a13f483158e6b3fa1706 100644
--- a/fs/jffs2/file.c
+++ b/fs/jffs2/file.c
@@ -51,8 +51,8 @@ const struct file_operations jffs2_file_operations =
 {
 	.llseek =	generic_file_llseek,
 	.open =		generic_file_open,
- 	.read =		do_sync_read,
- 	.aio_read =	generic_file_aio_read,
+ 	.read =		new_sync_read,
+ 	.read_iter =	generic_file_read_iter,
  	.write =	do_sync_write,
  	.aio_write =	generic_file_aio_write,
 	.unlocked_ioctl=jffs2_ioctl,
diff --git a/fs/jfs/file.c b/fs/jfs/file.c
index 794da944d5cd29c63d8db31040340e83d7079d87..a5d8299b2208175d78aec6f54eae4347cddfe3be 100644
--- a/fs/jfs/file.c
+++ b/fs/jfs/file.c
@@ -152,8 +152,8 @@ const struct file_operations jfs_file_operations = {
 	.open		= jfs_open,
 	.llseek		= generic_file_llseek,
 	.write		= do_sync_write,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,
 	.splice_read	= generic_file_splice_read,
diff --git a/fs/logfs/file.c b/fs/logfs/file.c
index 57914fc32b62538f43909d35ffc031742b98a881..1ca8026dc664c2324a2a26628409a9ca12fc197a 100644
--- a/fs/logfs/file.c
+++ b/fs/logfs/file.c
@@ -264,14 +264,14 @@ const struct inode_operations logfs_reg_iops = {
 };
 
 const struct file_operations logfs_reg_fops = {
-	.aio_read	= generic_file_aio_read,
+	.read_iter	= generic_file_read_iter,
 	.aio_write	= generic_file_aio_write,
 	.fsync		= logfs_fsync,
 	.unlocked_ioctl	= logfs_ioctl,
 	.llseek		= generic_file_llseek,
 	.mmap		= generic_file_readonly_mmap,
 	.open		= generic_file_open,
-	.read		= do_sync_read,
+	.read		= new_sync_read,
 	.write		= do_sync_write,
 };
 
diff --git a/fs/minix/file.c b/fs/minix/file.c
index adc6f5494231bc947f45d8a3c526db0b36f39bf3..607b4714532504ee644ac79b7adb916d6b96482a 100644
--- a/fs/minix/file.c
+++ b/fs/minix/file.c
@@ -14,8 +14,8 @@
  */
 const struct file_operations minix_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,
diff --git a/fs/nilfs2/file.c b/fs/nilfs2/file.c
index f3a82fbcae026357431720d998b5eb6e7eafee66..dcb1b0e8b4359163b242e433a7ea7f756a38bb04 100644
--- a/fs/nilfs2/file.c
+++ b/fs/nilfs2/file.c
@@ -152,9 +152,9 @@ static int nilfs_file_mmap(struct file *file, struct vm_area_struct *vma)
  */
 const struct file_operations nilfs_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
+	.read		= new_sync_read,
 	.write		= do_sync_write,
-	.aio_read	= generic_file_aio_read,
+	.read_iter	= generic_file_read_iter,
 	.aio_write	= generic_file_aio_write,
 	.unlocked_ioctl	= nilfs_ioctl,
 #ifdef CONFIG_COMPAT
diff --git a/fs/ntfs/file.c b/fs/ntfs/file.c
index b6fa457d8d01ff3b925de46164edbbcdf8e00d2a..89b4d6663775276b2a0229026b6b19bff46f2a27 100644
--- a/fs/ntfs/file.c
+++ b/fs/ntfs/file.c
@@ -2200,8 +2200,8 @@ static int ntfs_file_fsync(struct file *filp, loff_t start, loff_t end,
 
 const struct file_operations ntfs_file_ops = {
 	.llseek		= generic_file_llseek,	 /* Seek inside file. */
-	.read		= do_sync_read,		 /* Read from file. */
-	.aio_read	= generic_file_aio_read, /* Async read from file. */
+	.read		= new_sync_read,	 /* Read from file. */
+	.read_iter	= generic_file_read_iter, /* Async read from file. */
 #ifdef NTFS_RW
 	.write		= do_sync_write,	 /* Write to file. */
 	.aio_write	= ntfs_file_aio_write,	 /* Async write to file. */
diff --git a/fs/omfs/file.c b/fs/omfs/file.c
index 54d57d6ba68dd5b91df6cbc9269e1ccf3c05a950..3bf28da9f0dfe603f982fc76fdd9aa65c3e9d306 100644
--- a/fs/omfs/file.c
+++ b/fs/omfs/file.c
@@ -337,9 +337,9 @@ static sector_t omfs_bmap(struct address_space *mapping, sector_t block)
 
 const struct file_operations omfs_file_operations = {
 	.llseek = generic_file_llseek,
-	.read = do_sync_read,
+	.read = new_sync_read,
 	.write = do_sync_write,
-	.aio_read = generic_file_aio_read,
+	.read_iter = generic_file_read_iter,
 	.aio_write = generic_file_aio_write,
 	.mmap = generic_file_mmap,
 	.fsync = generic_file_fsync,
diff --git a/fs/ramfs/file-mmu.c b/fs/ramfs/file-mmu.c
index 1e56a4e8cf7cd47d4886731ea063c95be9f078ee..30ffb367bc0b33ed8821dac1414685cb0c4a7571 100644
--- a/fs/ramfs/file-mmu.c
+++ b/fs/ramfs/file-mmu.c
@@ -31,8 +31,8 @@
 #include "internal.h"
 
 const struct file_operations ramfs_file_operations = {
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,
diff --git a/fs/ramfs/file-nommu.c b/fs/ramfs/file-nommu.c
index 0b3d8e4cb2fa00dd8b906d1ddc811bc17a4c8e07..416db04f8464eb567b25165e6a55e5f1c9d28b3d 100644
--- a/fs/ramfs/file-nommu.c
+++ b/fs/ramfs/file-nommu.c
@@ -37,8 +37,8 @@ static int ramfs_nommu_mmap(struct file *file, struct vm_area_struct *vma);
 const struct file_operations ramfs_file_operations = {
 	.mmap			= ramfs_nommu_mmap,
 	.get_unmapped_area	= ramfs_nommu_get_unmapped_area,
-	.read			= do_sync_read,
-	.aio_read		= generic_file_aio_read,
+	.read			= new_sync_read,
+	.read_iter		= generic_file_read_iter,
 	.write			= do_sync_write,
 	.aio_write		= generic_file_aio_write,
 	.fsync			= noop_fsync,
diff --git a/fs/read_write.c b/fs/read_write.c
index fe2f9d5e3536dc2ef2e6c063b94a8f95b877bbad..009d8542a889c7d2b4b98334f0c4868d36076739 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -29,8 +29,8 @@ typedef ssize_t (*iter_fn_t)(struct kiocb *, struct iov_iter *);
 
 const struct file_operations generic_ro_fops = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.mmap		= generic_file_readonly_mmap,
 	.splice_read	= generic_file_splice_read,
 };
diff --git a/fs/reiserfs/file.c b/fs/reiserfs/file.c
index ed58d843d57856ac3cdc87288465d0d5156708e9..7592d681fd8ca64d4603e45bfc8503d7eef568a0 100644
--- a/fs/reiserfs/file.c
+++ b/fs/reiserfs/file.c
@@ -235,7 +235,7 @@ int reiserfs_commit_page(struct inode *inode, struct page *page,
 }
 
 const struct file_operations reiserfs_file_operations = {
-	.read = do_sync_read,
+	.read = new_sync_read,
 	.write = do_sync_write,
 	.unlocked_ioctl = reiserfs_ioctl,
 #ifdef CONFIG_COMPAT
@@ -245,7 +245,7 @@ const struct file_operations reiserfs_file_operations = {
 	.open = reiserfs_file_open,
 	.release = reiserfs_file_release,
 	.fsync = reiserfs_sync_file,
-	.aio_read = generic_file_aio_read,
+	.read_iter = generic_file_read_iter,
 	.aio_write = generic_file_aio_write,
 	.splice_read = generic_file_splice_read,
 	.splice_write = generic_file_splice_write,
diff --git a/fs/romfs/mmap-nommu.c b/fs/romfs/mmap-nommu.c
index f373bde8f545da481ba0a7caa873271dd599b30d..ea06c7554860d7ada89db9ba0a8838e17b40d3fc 100644
--- a/fs/romfs/mmap-nommu.c
+++ b/fs/romfs/mmap-nommu.c
@@ -72,8 +72,8 @@ static int romfs_mmap(struct file *file, struct vm_area_struct *vma)
 
 const struct file_operations romfs_ro_fops = {
 	.llseek			= generic_file_llseek,
-	.read			= do_sync_read,
-	.aio_read		= generic_file_aio_read,
+	.read			= new_sync_read,
+	.read_iter		= generic_file_read_iter,
 	.splice_read		= generic_file_splice_read,
 	.mmap			= romfs_mmap,
 	.get_unmapped_area	= romfs_get_unmapped_area,
diff --git a/fs/sysv/file.c b/fs/sysv/file.c
index 9d4dc6831792a23270148c2d26b0423f656b505c..d99be88773882a42fccf88068eba950d014dbd64 100644
--- a/fs/sysv/file.c
+++ b/fs/sysv/file.c
@@ -21,8 +21,8 @@
  */
 const struct file_operations sysv_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,
diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
index 4f34dbae823dc9930077a4599933e14b7e457de9..ab721529c57ceead2e28f9e7939b75ff6aa99ba3 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -1582,9 +1582,9 @@ const struct inode_operations ubifs_symlink_inode_operations = {
 
 const struct file_operations ubifs_file_operations = {
 	.llseek         = generic_file_llseek,
-	.read           = do_sync_read,
+	.read           = new_sync_read,
 	.write          = do_sync_write,
-	.aio_read       = generic_file_aio_read,
+	.read_iter      = generic_file_read_iter,
 	.aio_write      = ubifs_aio_write,
 	.mmap           = ubifs_file_mmap,
 	.fsync          = ubifs_fsync,
diff --git a/fs/udf/file.c b/fs/udf/file.c
index ade8864016580261c6c47dfb9bd2037c0f0df368..8a7c400b035fd268428b7cfb8062ee679b93ffcc 100644
--- a/fs/udf/file.c
+++ b/fs/udf/file.c
@@ -252,8 +252,8 @@ static int udf_release_file(struct inode *inode, struct file *filp)
 }
 
 const struct file_operations udf_file_operations = {
-	.read			= do_sync_read,
-	.aio_read		= generic_file_aio_read,
+	.read			= new_sync_read,
+	.read_iter		= generic_file_read_iter,
 	.unlocked_ioctl		= udf_ioctl,
 	.open			= generic_file_open,
 	.mmap			= generic_file_mmap,
diff --git a/fs/ufs/file.c b/fs/ufs/file.c
index 33afa20d450982eafb4e1bcc77193cce152270d1..b6b402989e6bf6c6f738e7f2422229d12f96de75 100644
--- a/fs/ufs/file.c
+++ b/fs/ufs/file.c
@@ -35,8 +35,8 @@
  
 const struct file_operations ufs_file_operations = {
 	.llseek		= generic_file_llseek,
-	.read		= do_sync_read,
-	.aio_read	= generic_file_aio_read,
+	.read		= new_sync_read,
+	.read_iter	= generic_file_read_iter,
 	.write		= do_sync_write,
 	.aio_write	= generic_file_aio_write,
 	.mmap		= generic_file_mmap,