* [PATCH V5 18/30] fs: add read_iter and write_iter to several file systems [not found] <1357761525-22718-1-git-send-email-dave.kleikamp@oracle.com> @ 2013-01-09 19:58 ` Dave Kleikamp 2013-01-10 12:40 ` Boaz Harrosh 2013-01-09 19:58 ` [PATCH V5 20/30] ext4: add support for read_iter and write_iter Dave Kleikamp 1 sibling, 1 reply; 3+ messages in thread From: Dave Kleikamp @ 2013-01-09 19:58 UTC (permalink / raw) To: linux-fsdevel Cc: jfs-discussion, Jan Kara, Bob Copeland, linux-karma-devel, linux-mtd, Mikulas Patocka, linux-nilfs, Richard Weinberger, Christoph Hellwig, Boaz Harrosh, v9fs-developer, linux-ext4, Joern Engel, Evgeniy Dushistov, user-mode-linux-devel, Jeff Dike, reiserfs-devel, Dave Kleikamp, osd-dev, OGAWA Hirofumi, Prasad Joshi, Tigran A. Aivazian, linux-kernel, logfs, Benny Halevy <bhalevy These are the simple ones. File systems that use generic_file_aio_read() and generic_file_aio_write() can trivially support generic_file_read_iter() and generic_file_write_iter(). This patch adds those file_operations for 9p, adfs, affs, bfs, exofs, ext2, ext3, fat, f2fs, hfs, hfsplus, hostfs, hpfs, jfs, jffs2, logfs, minix, nilfs2, omfs, ramfs, reiserfs, romfs, sysv, and ufs. Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com> Cc: Zach Brown <zab@zabbo.net> Cc: v9fs-developer@lists.sourceforge.net Cc: Tigran A. Aivazian <tigran@aivazian.fsnet.co.uk> Cc: Jan Kara <jack@suse.cz> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andreas Dilger <adilger.kernel@dilger.ca> Cc: linux-ext4@vger.kernel.org Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Cc: Boaz Harrosh <bharrosh@panasas.com> Cc: Benny Halevy <bhalevy@tonian.com> Cc: osd-dev@open-osd.org Cc: Jeff Dike <jdike@addtoit.com> Cc: Richard Weinberger <richard@nod.at> Cc: user-mode-linux-devel@lists.sourceforge.net Cc: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> Cc: jfs-discussion@lists.sourceforge.net Cc: David Woodhouse <dwmw2@infradead.org> Cc: linux-mtd@lists.infradead.org Cc: Joern Engel <joern@logfs.org> Cc: Prasad Joshi <prasadjoshi.linux@gmail.com> Cc: logfs@logfs.org Cc: linux-nilfs@vger.kernel.org Cc: Bob Copeland <me@bobcopeland.com> Cc: linux-karma-devel@lists.sourceforge.net Cc: reiserfs-devel@vger.kernel.org Cc: Christoph Hellwig <hch@infradead.org> Cc: Evgeniy Dushistov <dushistov@mail.ru> --- fs/9p/vfs_addr.c | 4 ++-- fs/9p/vfs_file.c | 8 ++++---- fs/adfs/file.c | 4 ++-- fs/affs/file.c | 4 ++-- fs/bfs/file.c | 4 ++-- fs/exofs/file.c | 4 ++-- fs/ext2/file.c | 4 ++-- fs/ext3/file.c | 4 ++-- fs/f2fs/file.c | 4 ++-- fs/fat/file.c | 4 ++-- fs/hfs/inode.c | 4 ++-- fs/hfsplus/inode.c | 4 ++-- fs/hostfs/hostfs_kern.c | 4 ++-- fs/hpfs/file.c | 4 ++-- fs/jffs2/file.c | 8 ++++---- fs/jfs/file.c | 4 ++-- fs/logfs/file.c | 4 ++-- fs/minix/file.c | 4 ++-- fs/nilfs2/file.c | 4 ++-- fs/omfs/file.c | 4 ++-- fs/ramfs/file-mmu.c | 4 ++-- fs/ramfs/file-nommu.c | 4 ++-- fs/reiserfs/file.c | 4 ++-- fs/romfs/mmap-nommu.c | 2 +- fs/sysv/file.c | 4 ++-- fs/ufs/file.c | 4 ++-- 26 files changed, 55 insertions(+), 55 deletions(-) diff --git a/fs/9p/vfs_addr.c b/fs/9p/vfs_addr.c index e70f239..01c0673 100644 --- a/fs/9p/vfs_addr.c +++ b/fs/9p/vfs_addr.c @@ -249,8 +249,8 @@ static int v9fs_launder_page(struct page *page) * the VFS gets them, so this method should never be called. * * Direct IO is not 'yet' supported in the cached mode. Hence when - * this routine is called through generic_file_aio_read(), the read/write fails - * with an error. + * this routine is called through generic_file_read_iter(), the read/write + * fails with an error. * */ static ssize_t diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c index c2483e9..2e9441d 100644 --- a/fs/9p/vfs_file.c +++ b/fs/9p/vfs_file.c @@ -746,8 +746,8 @@ 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, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .open = v9fs_file_open, .release = v9fs_dir_release, .lock = v9fs_file_lock, @@ -759,8 +759,8 @@ 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, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .open = v9fs_file_open, .release = v9fs_dir_release, .lock = v9fs_file_lock_dotl, diff --git a/fs/adfs/file.c b/fs/adfs/file.c index a36da53..da1e021 100644 --- a/fs/adfs/file.c +++ b/fs/adfs/file.c @@ -24,11 +24,11 @@ const struct file_operations adfs_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, - .aio_read = generic_file_aio_read, + .read_iter = generic_file_read_iter, .mmap = generic_file_mmap, .fsync = generic_file_fsync, .write = do_sync_write, - .aio_write = generic_file_aio_write, + .write_iter = generic_file_write_iter, .splice_read = generic_file_splice_read, }; diff --git a/fs/affs/file.c b/fs/affs/file.c index af3261b..d09a2db 100644 --- a/fs/affs/file.c +++ b/fs/affs/file.c @@ -28,9 +28,9 @@ 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_iter = generic_file_read_iter, .write = do_sync_write, - .aio_write = generic_file_aio_write, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .open = affs_file_open, .release = affs_file_release, diff --git a/fs/bfs/file.c b/fs/bfs/file.c index ad3ea14..3d14806 100644 --- a/fs/bfs/file.c +++ b/fs/bfs/file.c @@ -24,9 +24,9 @@ const struct file_operations bfs_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, - .aio_read = generic_file_aio_read, + .read_iter = generic_file_read_iter, .write = do_sync_write, - .aio_write = generic_file_aio_write, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .splice_read = generic_file_splice_read, }; diff --git a/fs/exofs/file.c b/fs/exofs/file.c index 491c6c0..20564f8a 100644 --- a/fs/exofs/file.c +++ b/fs/exofs/file.c @@ -69,8 +69,8 @@ const struct file_operations exofs_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, .write = do_sync_write, - .aio_read = generic_file_aio_read, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .open = generic_file_open, .release = exofs_release_file, diff --git a/fs/ext2/file.c b/fs/ext2/file.c index a5b3a5d..6af043b 100644 --- a/fs/ext2/file.c +++ b/fs/ext2/file.c @@ -64,8 +64,8 @@ const struct file_operations ext2_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, .write = do_sync_write, - .aio_read = generic_file_aio_read, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .unlocked_ioctl = ext2_ioctl, #ifdef CONFIG_COMPAT .compat_ioctl = ext2_compat_ioctl, diff --git a/fs/ext3/file.c b/fs/ext3/file.c index 25cb413..a796771 100644 --- a/fs/ext3/file.c +++ b/fs/ext3/file.c @@ -52,8 +52,8 @@ const struct file_operations ext3_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, .write = do_sync_write, - .aio_read = generic_file_aio_read, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .unlocked_ioctl = ext3_ioctl, #ifdef CONFIG_COMPAT .compat_ioctl = ext3_compat_ioctl, diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index f9e085d..86d9c4b 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -624,8 +624,8 @@ const struct file_operations f2fs_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, .write = do_sync_write, - .aio_read = generic_file_aio_read, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .open = generic_file_open, .mmap = f2fs_file_mmap, .fsync = f2fs_sync_file, diff --git a/fs/fat/file.c b/fs/fat/file.c index a62e0ec..92d587b 100644 --- a/fs/fat/file.c +++ b/fs/fat/file.c @@ -164,8 +164,8 @@ const struct file_operations fat_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, .write = do_sync_write, - .aio_read = generic_file_aio_read, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .release = fat_file_release, .unlocked_ioctl = fat_generic_ioctl, diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c index 2a87ba4..0db0679 100644 --- a/fs/hfs/inode.c +++ b/fs/hfs/inode.c @@ -666,9 +666,9 @@ 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_iter = generic_file_read_iter, .write = do_sync_write, - .aio_write = generic_file_aio_write, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .splice_read = generic_file_splice_read, .fsync = hfs_file_fsync, diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c index c87b26c..9b8cdb6 100644 --- a/fs/hfsplus/inode.c +++ b/fs/hfsplus/inode.c @@ -373,9 +373,9 @@ 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_iter = generic_file_read_iter, .write = do_sync_write, - .aio_write = generic_file_aio_write, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .splice_read = generic_file_splice_read, .fsync = hfsplus_file_fsync, diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c index 457addc..4593a9a 100644 --- a/fs/hostfs/hostfs_kern.c +++ b/fs/hostfs/hostfs_kern.c @@ -382,8 +382,8 @@ static const struct file_operations hostfs_file_fops = { .llseek = generic_file_llseek, .read = do_sync_read, .splice_read = generic_file_splice_read, - .aio_read = generic_file_aio_read, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .write = do_sync_write, .mmap = generic_file_mmap, .open = hostfs_file_open, diff --git a/fs/hpfs/file.c b/fs/hpfs/file.c index fbfe2df..efc8cd9 100644 --- a/fs/hpfs/file.c +++ b/fs/hpfs/file.c @@ -162,9 +162,9 @@ const struct file_operations hpfs_file_ops = { .llseek = generic_file_llseek, .read = do_sync_read, - .aio_read = generic_file_aio_read, + .read_iter = generic_file_read_iter, .write = hpfs_file_write, - .aio_write = generic_file_aio_write, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .release = hpfs_file_release, .fsync = hpfs_file_fsync, diff --git a/fs/jffs2/file.c b/fs/jffs2/file.c index 1506673..1d7ab8b 100644 --- a/fs/jffs2/file.c +++ b/fs/jffs2/file.c @@ -51,10 +51,10 @@ 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, - .write = do_sync_write, - .aio_write = generic_file_aio_write, + .read = do_sync_read, + .read_iter = generic_file_read_iter, + .write = do_sync_write, + .write_iter = generic_file_write_iter, .unlocked_ioctl=jffs2_ioctl, .mmap = generic_file_readonly_mmap, .fsync = jffs2_fsync, diff --git a/fs/jfs/file.c b/fs/jfs/file.c index dd7442c..040b6c7 100644 --- a/fs/jfs/file.c +++ b/fs/jfs/file.c @@ -151,8 +151,8 @@ const struct file_operations jfs_file_operations = { .llseek = generic_file_llseek, .write = do_sync_write, .read = do_sync_read, - .aio_read = generic_file_aio_read, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .splice_read = generic_file_splice_read, .splice_write = generic_file_splice_write, diff --git a/fs/logfs/file.c b/fs/logfs/file.c index 3886cde..ca35c88 100644 --- a/fs/logfs/file.c +++ b/fs/logfs/file.c @@ -263,8 +263,8 @@ const struct inode_operations logfs_reg_iops = { }; const struct file_operations logfs_reg_fops = { - .aio_read = generic_file_aio_read, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .fsync = logfs_fsync, .unlocked_ioctl = logfs_ioctl, .llseek = generic_file_llseek, diff --git a/fs/minix/file.c b/fs/minix/file.c index adc6f54..346d8f37 100644 --- a/fs/minix/file.c +++ b/fs/minix/file.c @@ -15,9 +15,9 @@ const struct file_operations minix_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, - .aio_read = generic_file_aio_read, + .read_iter = generic_file_read_iter, .write = do_sync_write, - .aio_write = generic_file_aio_write, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .fsync = generic_file_fsync, .splice_read = generic_file_splice_read, diff --git a/fs/nilfs2/file.c b/fs/nilfs2/file.c index 6194688..3e4337e 100644 --- a/fs/nilfs2/file.c +++ b/fs/nilfs2/file.c @@ -153,8 +153,8 @@ const struct file_operations nilfs_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, .write = do_sync_write, - .aio_read = generic_file_aio_read, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .unlocked_ioctl = nilfs_ioctl, #ifdef CONFIG_COMPAT .compat_ioctl = nilfs_compat_ioctl, diff --git a/fs/omfs/file.c b/fs/omfs/file.c index e0d9b3e..badafd8 100644 --- a/fs/omfs/file.c +++ b/fs/omfs/file.c @@ -339,8 +339,8 @@ const struct file_operations omfs_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, .write = do_sync_write, - .aio_read = generic_file_aio_read, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .fsync = generic_file_fsync, .splice_read = generic_file_splice_read, diff --git a/fs/ramfs/file-mmu.c b/fs/ramfs/file-mmu.c index 4884ac5..c4d8572 100644 --- a/fs/ramfs/file-mmu.c +++ b/fs/ramfs/file-mmu.c @@ -39,9 +39,9 @@ const struct address_space_operations ramfs_aops = { const struct file_operations ramfs_file_operations = { .read = do_sync_read, - .aio_read = generic_file_aio_read, + .read_iter = generic_file_read_iter, .write = do_sync_write, - .aio_write = generic_file_aio_write, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .fsync = noop_fsync, .splice_read = generic_file_splice_read, diff --git a/fs/ramfs/file-nommu.c b/fs/ramfs/file-nommu.c index d5378d0..1d6be6c 100644 --- a/fs/ramfs/file-nommu.c +++ b/fs/ramfs/file-nommu.c @@ -39,9 +39,9 @@ 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_iter = generic_file_read_iter, .write = do_sync_write, - .aio_write = generic_file_aio_write, + .write_iter = generic_file_write_iter, .fsync = noop_fsync, .splice_read = generic_file_splice_read, .splice_write = generic_file_splice_write, diff --git a/fs/reiserfs/file.c b/fs/reiserfs/file.c index 50302d6..831703d 100644 --- a/fs/reiserfs/file.c +++ b/fs/reiserfs/file.c @@ -304,8 +304,8 @@ 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, - .aio_write = generic_file_aio_write, + .read_iter = generic_file_read_iter, + .write_iter = generic_file_write_iter, .splice_read = generic_file_splice_read, .splice_write = generic_file_splice_write, .llseek = generic_file_llseek, diff --git a/fs/romfs/mmap-nommu.c b/fs/romfs/mmap-nommu.c index e1a7779..e34d51a 100644 --- a/fs/romfs/mmap-nommu.c +++ b/fs/romfs/mmap-nommu.c @@ -70,7 +70,7 @@ 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_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 9d4dc68..ff4b363 100644 --- a/fs/sysv/file.c +++ b/fs/sysv/file.c @@ -22,9 +22,9 @@ const struct file_operations sysv_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, - .aio_read = generic_file_aio_read, + .read_iter = generic_file_read_iter, .write = do_sync_write, - .aio_write = generic_file_aio_write, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .fsync = generic_file_fsync, .splice_read = generic_file_splice_read, diff --git a/fs/ufs/file.c b/fs/ufs/file.c index 33afa20..e155e4c 100644 --- a/fs/ufs/file.c +++ b/fs/ufs/file.c @@ -36,9 +36,9 @@ const struct file_operations ufs_file_operations = { .llseek = generic_file_llseek, .read = do_sync_read, - .aio_read = generic_file_aio_read, + .read_iter = generic_file_read_iter, .write = do_sync_write, - .aio_write = generic_file_aio_write, + .write_iter = generic_file_write_iter, .mmap = generic_file_mmap, .open = generic_file_open, .fsync = generic_file_fsync, -- 1.8.1 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/ ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH V5 18/30] fs: add read_iter and write_iter to several file systems 2013-01-09 19:58 ` [PATCH V5 18/30] fs: add read_iter and write_iter to several file systems Dave Kleikamp @ 2013-01-10 12:40 ` Boaz Harrosh 0 siblings, 0 replies; 3+ messages in thread From: Boaz Harrosh @ 2013-01-10 12:40 UTC (permalink / raw) To: Dave Kleikamp Cc: jfs-discussion, Jan Kara, Bob Copeland, linux-karma-devel, linux-mtd, Mikulas Patocka, linux-nilfs, Richard Weinberger, Christoph Hellwig, v9fs-developer, linux-ext4, Jeff Dike, Evgeniy Dushistov, user-mode-linux-devel, Prasad Joshi, reiserfs-devel, osd-dev, OGAWA Hirofumi, Joern Engel, Tigran A. Aivazian, linux-kernel, logfs, Benny Halevy, linux-fsdevel, Andreas Dilger On 01/09/2013 09:58 PM, Dave Kleikamp wrote: > These are the simple ones. > > File systems that use generic_file_aio_read() and generic_file_aio_write() > can trivially support generic_file_read_iter() and generic_file_write_iter(). > > This patch adds those file_operations for 9p, adfs, affs, bfs, exofs, ext2, > ext3, fat, f2fs, hfs, hfsplus, hostfs, hpfs, jfs, jffs2, logfs, minix, nilfs2, > omfs, ramfs, reiserfs, romfs, sysv, and ufs. > > Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com> > Cc: Zach Brown <zab@zabbo.net> > Cc: v9fs-developer@lists.sourceforge.net > Cc: Tigran A. Aivazian <tigran@aivazian.fsnet.co.uk> > Cc: Jan Kara <jack@suse.cz> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Andreas Dilger <adilger.kernel@dilger.ca> > Cc: linux-ext4@vger.kernel.org > Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Thanks looks good. ACK-by: Boaz Harrosh <bharrosh@panasas.com> > Cc: Boaz Harrosh <bharrosh@panasas.com> > Cc: Benny Halevy <bhalevy@tonian.com> > Cc: osd-dev@open-osd.org > Cc: Jeff Dike <jdike@addtoit.com> > Cc: Richard Weinberger <richard@nod.at> > Cc: user-mode-linux-devel@lists.sourceforge.net > Cc: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> > Cc: jfs-discussion@lists.sourceforge.net > Cc: David Woodhouse <dwmw2@infradead.org> > Cc: linux-mtd@lists.infradead.org > Cc: Joern Engel <joern@logfs.org> > Cc: Prasad Joshi <prasadjoshi.linux@gmail.com> > Cc: logfs@logfs.org > Cc: linux-nilfs@vger.kernel.org > Cc: Bob Copeland <me@bobcopeland.com> > Cc: linux-karma-devel@lists.sourceforge.net > Cc: reiserfs-devel@vger.kernel.org > Cc: Christoph Hellwig <hch@infradead.org> > Cc: Evgeniy Dushistov <dushistov@mail.ru> > --- > fs/9p/vfs_addr.c | 4 ++-- > fs/9p/vfs_file.c | 8 ++++---- > fs/adfs/file.c | 4 ++-- > fs/affs/file.c | 4 ++-- > fs/bfs/file.c | 4 ++-- > fs/exofs/file.c | 4 ++-- > fs/ext2/file.c | 4 ++-- > fs/ext3/file.c | 4 ++-- > fs/f2fs/file.c | 4 ++-- > fs/fat/file.c | 4 ++-- > fs/hfs/inode.c | 4 ++-- > fs/hfsplus/inode.c | 4 ++-- > fs/hostfs/hostfs_kern.c | 4 ++-- > fs/hpfs/file.c | 4 ++-- > fs/jffs2/file.c | 8 ++++---- > fs/jfs/file.c | 4 ++-- > fs/logfs/file.c | 4 ++-- > fs/minix/file.c | 4 ++-- > fs/nilfs2/file.c | 4 ++-- > fs/omfs/file.c | 4 ++-- > fs/ramfs/file-mmu.c | 4 ++-- > fs/ramfs/file-nommu.c | 4 ++-- > fs/reiserfs/file.c | 4 ++-- > fs/romfs/mmap-nommu.c | 2 +- > fs/sysv/file.c | 4 ++-- > fs/ufs/file.c | 4 ++-- > 26 files changed, 55 insertions(+), 55 deletions(-) > > diff --git a/fs/9p/vfs_addr.c b/fs/9p/vfs_addr.c > index e70f239..01c0673 100644 > --- a/fs/9p/vfs_addr.c > +++ b/fs/9p/vfs_addr.c > @@ -249,8 +249,8 @@ static int v9fs_launder_page(struct page *page) > * the VFS gets them, so this method should never be called. > * > * Direct IO is not 'yet' supported in the cached mode. Hence when > - * this routine is called through generic_file_aio_read(), the read/write fails > - * with an error. > + * this routine is called through generic_file_read_iter(), the read/write > + * fails with an error. > * > */ > static ssize_t > diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c > index c2483e9..2e9441d 100644 > --- a/fs/9p/vfs_file.c > +++ b/fs/9p/vfs_file.c > @@ -746,8 +746,8 @@ 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, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .open = v9fs_file_open, > .release = v9fs_dir_release, > .lock = v9fs_file_lock, > @@ -759,8 +759,8 @@ 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, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .open = v9fs_file_open, > .release = v9fs_dir_release, > .lock = v9fs_file_lock_dotl, > diff --git a/fs/adfs/file.c b/fs/adfs/file.c > index a36da53..da1e021 100644 > --- a/fs/adfs/file.c > +++ b/fs/adfs/file.c > @@ -24,11 +24,11 @@ > const struct file_operations adfs_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > - .aio_read = generic_file_aio_read, > + .read_iter = generic_file_read_iter, > .mmap = generic_file_mmap, > .fsync = generic_file_fsync, > .write = do_sync_write, > - .aio_write = generic_file_aio_write, > + .write_iter = generic_file_write_iter, > .splice_read = generic_file_splice_read, > }; > > diff --git a/fs/affs/file.c b/fs/affs/file.c > index af3261b..d09a2db 100644 > --- a/fs/affs/file.c > +++ b/fs/affs/file.c > @@ -28,9 +28,9 @@ 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_iter = generic_file_read_iter, > .write = do_sync_write, > - .aio_write = generic_file_aio_write, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .open = affs_file_open, > .release = affs_file_release, > diff --git a/fs/bfs/file.c b/fs/bfs/file.c > index ad3ea14..3d14806 100644 > --- a/fs/bfs/file.c > +++ b/fs/bfs/file.c > @@ -24,9 +24,9 @@ > const struct file_operations bfs_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > - .aio_read = generic_file_aio_read, > + .read_iter = generic_file_read_iter, > .write = do_sync_write, > - .aio_write = generic_file_aio_write, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .splice_read = generic_file_splice_read, > }; > diff --git a/fs/exofs/file.c b/fs/exofs/file.c > index 491c6c0..20564f8a 100644 > --- a/fs/exofs/file.c > +++ b/fs/exofs/file.c > @@ -69,8 +69,8 @@ const struct file_operations exofs_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > .write = do_sync_write, > - .aio_read = generic_file_aio_read, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .open = generic_file_open, > .release = exofs_release_file, > diff --git a/fs/ext2/file.c b/fs/ext2/file.c > index a5b3a5d..6af043b 100644 > --- a/fs/ext2/file.c > +++ b/fs/ext2/file.c > @@ -64,8 +64,8 @@ const struct file_operations ext2_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > .write = do_sync_write, > - .aio_read = generic_file_aio_read, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .unlocked_ioctl = ext2_ioctl, > #ifdef CONFIG_COMPAT > .compat_ioctl = ext2_compat_ioctl, > diff --git a/fs/ext3/file.c b/fs/ext3/file.c > index 25cb413..a796771 100644 > --- a/fs/ext3/file.c > +++ b/fs/ext3/file.c > @@ -52,8 +52,8 @@ const struct file_operations ext3_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > .write = do_sync_write, > - .aio_read = generic_file_aio_read, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .unlocked_ioctl = ext3_ioctl, > #ifdef CONFIG_COMPAT > .compat_ioctl = ext3_compat_ioctl, > diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c > index f9e085d..86d9c4b 100644 > --- a/fs/f2fs/file.c > +++ b/fs/f2fs/file.c > @@ -624,8 +624,8 @@ const struct file_operations f2fs_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > .write = do_sync_write, > - .aio_read = generic_file_aio_read, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .open = generic_file_open, > .mmap = f2fs_file_mmap, > .fsync = f2fs_sync_file, > diff --git a/fs/fat/file.c b/fs/fat/file.c > index a62e0ec..92d587b 100644 > --- a/fs/fat/file.c > +++ b/fs/fat/file.c > @@ -164,8 +164,8 @@ const struct file_operations fat_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > .write = do_sync_write, > - .aio_read = generic_file_aio_read, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .release = fat_file_release, > .unlocked_ioctl = fat_generic_ioctl, > diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c > index 2a87ba4..0db0679 100644 > --- a/fs/hfs/inode.c > +++ b/fs/hfs/inode.c > @@ -666,9 +666,9 @@ 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_iter = generic_file_read_iter, > .write = do_sync_write, > - .aio_write = generic_file_aio_write, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .splice_read = generic_file_splice_read, > .fsync = hfs_file_fsync, > diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c > index c87b26c..9b8cdb6 100644 > --- a/fs/hfsplus/inode.c > +++ b/fs/hfsplus/inode.c > @@ -373,9 +373,9 @@ 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_iter = generic_file_read_iter, > .write = do_sync_write, > - .aio_write = generic_file_aio_write, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .splice_read = generic_file_splice_read, > .fsync = hfsplus_file_fsync, > diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c > index 457addc..4593a9a 100644 > --- a/fs/hostfs/hostfs_kern.c > +++ b/fs/hostfs/hostfs_kern.c > @@ -382,8 +382,8 @@ static const struct file_operations hostfs_file_fops = { > .llseek = generic_file_llseek, > .read = do_sync_read, > .splice_read = generic_file_splice_read, > - .aio_read = generic_file_aio_read, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .write = do_sync_write, > .mmap = generic_file_mmap, > .open = hostfs_file_open, > diff --git a/fs/hpfs/file.c b/fs/hpfs/file.c > index fbfe2df..efc8cd9 100644 > --- a/fs/hpfs/file.c > +++ b/fs/hpfs/file.c > @@ -162,9 +162,9 @@ const struct file_operations hpfs_file_ops = > { > .llseek = generic_file_llseek, > .read = do_sync_read, > - .aio_read = generic_file_aio_read, > + .read_iter = generic_file_read_iter, > .write = hpfs_file_write, > - .aio_write = generic_file_aio_write, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .release = hpfs_file_release, > .fsync = hpfs_file_fsync, > diff --git a/fs/jffs2/file.c b/fs/jffs2/file.c > index 1506673..1d7ab8b 100644 > --- a/fs/jffs2/file.c > +++ b/fs/jffs2/file.c > @@ -51,10 +51,10 @@ 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, > - .write = do_sync_write, > - .aio_write = generic_file_aio_write, > + .read = do_sync_read, > + .read_iter = generic_file_read_iter, > + .write = do_sync_write, > + .write_iter = generic_file_write_iter, > .unlocked_ioctl=jffs2_ioctl, > .mmap = generic_file_readonly_mmap, > .fsync = jffs2_fsync, > diff --git a/fs/jfs/file.c b/fs/jfs/file.c > index dd7442c..040b6c7 100644 > --- a/fs/jfs/file.c > +++ b/fs/jfs/file.c > @@ -151,8 +151,8 @@ const struct file_operations jfs_file_operations = { > .llseek = generic_file_llseek, > .write = do_sync_write, > .read = do_sync_read, > - .aio_read = generic_file_aio_read, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .splice_read = generic_file_splice_read, > .splice_write = generic_file_splice_write, > diff --git a/fs/logfs/file.c b/fs/logfs/file.c > index 3886cde..ca35c88 100644 > --- a/fs/logfs/file.c > +++ b/fs/logfs/file.c > @@ -263,8 +263,8 @@ const struct inode_operations logfs_reg_iops = { > }; > > const struct file_operations logfs_reg_fops = { > - .aio_read = generic_file_aio_read, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .fsync = logfs_fsync, > .unlocked_ioctl = logfs_ioctl, > .llseek = generic_file_llseek, > diff --git a/fs/minix/file.c b/fs/minix/file.c > index adc6f54..346d8f37 100644 > --- a/fs/minix/file.c > +++ b/fs/minix/file.c > @@ -15,9 +15,9 @@ > const struct file_operations minix_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > - .aio_read = generic_file_aio_read, > + .read_iter = generic_file_read_iter, > .write = do_sync_write, > - .aio_write = generic_file_aio_write, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .fsync = generic_file_fsync, > .splice_read = generic_file_splice_read, > diff --git a/fs/nilfs2/file.c b/fs/nilfs2/file.c > index 6194688..3e4337e 100644 > --- a/fs/nilfs2/file.c > +++ b/fs/nilfs2/file.c > @@ -153,8 +153,8 @@ const struct file_operations nilfs_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > .write = do_sync_write, > - .aio_read = generic_file_aio_read, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .unlocked_ioctl = nilfs_ioctl, > #ifdef CONFIG_COMPAT > .compat_ioctl = nilfs_compat_ioctl, > diff --git a/fs/omfs/file.c b/fs/omfs/file.c > index e0d9b3e..badafd8 100644 > --- a/fs/omfs/file.c > +++ b/fs/omfs/file.c > @@ -339,8 +339,8 @@ const struct file_operations omfs_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > .write = do_sync_write, > - .aio_read = generic_file_aio_read, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .fsync = generic_file_fsync, > .splice_read = generic_file_splice_read, > diff --git a/fs/ramfs/file-mmu.c b/fs/ramfs/file-mmu.c > index 4884ac5..c4d8572 100644 > --- a/fs/ramfs/file-mmu.c > +++ b/fs/ramfs/file-mmu.c > @@ -39,9 +39,9 @@ const struct address_space_operations ramfs_aops = { > > const struct file_operations ramfs_file_operations = { > .read = do_sync_read, > - .aio_read = generic_file_aio_read, > + .read_iter = generic_file_read_iter, > .write = do_sync_write, > - .aio_write = generic_file_aio_write, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .fsync = noop_fsync, > .splice_read = generic_file_splice_read, > diff --git a/fs/ramfs/file-nommu.c b/fs/ramfs/file-nommu.c > index d5378d0..1d6be6c 100644 > --- a/fs/ramfs/file-nommu.c > +++ b/fs/ramfs/file-nommu.c > @@ -39,9 +39,9 @@ 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_iter = generic_file_read_iter, > .write = do_sync_write, > - .aio_write = generic_file_aio_write, > + .write_iter = generic_file_write_iter, > .fsync = noop_fsync, > .splice_read = generic_file_splice_read, > .splice_write = generic_file_splice_write, > diff --git a/fs/reiserfs/file.c b/fs/reiserfs/file.c > index 50302d6..831703d 100644 > --- a/fs/reiserfs/file.c > +++ b/fs/reiserfs/file.c > @@ -304,8 +304,8 @@ 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, > - .aio_write = generic_file_aio_write, > + .read_iter = generic_file_read_iter, > + .write_iter = generic_file_write_iter, > .splice_read = generic_file_splice_read, > .splice_write = generic_file_splice_write, > .llseek = generic_file_llseek, > diff --git a/fs/romfs/mmap-nommu.c b/fs/romfs/mmap-nommu.c > index e1a7779..e34d51a 100644 > --- a/fs/romfs/mmap-nommu.c > +++ b/fs/romfs/mmap-nommu.c > @@ -70,7 +70,7 @@ 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_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 9d4dc68..ff4b363 100644 > --- a/fs/sysv/file.c > +++ b/fs/sysv/file.c > @@ -22,9 +22,9 @@ > const struct file_operations sysv_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > - .aio_read = generic_file_aio_read, > + .read_iter = generic_file_read_iter, > .write = do_sync_write, > - .aio_write = generic_file_aio_write, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .fsync = generic_file_fsync, > .splice_read = generic_file_splice_read, > diff --git a/fs/ufs/file.c b/fs/ufs/file.c > index 33afa20..e155e4c 100644 > --- a/fs/ufs/file.c > +++ b/fs/ufs/file.c > @@ -36,9 +36,9 @@ > const struct file_operations ufs_file_operations = { > .llseek = generic_file_llseek, > .read = do_sync_read, > - .aio_read = generic_file_aio_read, > + .read_iter = generic_file_read_iter, > .write = do_sync_write, > - .aio_write = generic_file_aio_write, > + .write_iter = generic_file_write_iter, > .mmap = generic_file_mmap, > .open = generic_file_open, > .fsync = generic_file_fsync, > ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/ ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH V5 20/30] ext4: add support for read_iter and write_iter [not found] <1357761525-22718-1-git-send-email-dave.kleikamp@oracle.com> 2013-01-09 19:58 ` [PATCH V5 18/30] fs: add read_iter and write_iter to several file systems Dave Kleikamp @ 2013-01-09 19:58 ` Dave Kleikamp 1 sibling, 0 replies; 3+ messages in thread From: Dave Kleikamp @ 2013-01-09 19:58 UTC (permalink / raw) To: linux-fsdevel Cc: linux-kernel, Zach Brown, Maxim V. Patlasov, Dave Kleikamp, Theodore Ts'o, Andreas Dilger, linux-ext4 use the generic_file_read_iter(), create ext4_file_write_iter() based on ext4_file_write(), and make ext4_file_write() a wrapper around ext4_file_write_iter(). Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com> Cc: Zach Brown <zab@zabbo.net> Cc: "Theodore Ts'o" <tytso@mit.edu> Cc: Andreas Dilger <adilger.kernel@dilger.ca> Cc: linux-ext4@vger.kernel.org --- fs/ext4/file.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/fs/ext4/file.c b/fs/ext4/file.c index 405565a..54aa681 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -73,12 +73,11 @@ void ext4_unwritten_wait(struct inode *inode) * or one thread will zero the other's data, causing corruption. */ static int -ext4_unaligned_aio(struct inode *inode, const struct iovec *iov, - unsigned long nr_segs, loff_t pos) +ext4_unaligned_aio(struct inode *inode, struct iov_iter *iter, loff_t pos) { struct super_block *sb = inode->i_sb; int blockmask = sb->s_blocksize - 1; - size_t count = iov_length(iov, nr_segs); + size_t count = iov_iter_count(iter); loff_t final_size = pos + count; if (pos >= inode->i_size) @@ -91,8 +90,8 @@ ext4_unaligned_aio(struct inode *inode, const struct iovec *iov, } static ssize_t -ext4_file_dio_write(struct kiocb *iocb, const struct iovec *iov, - unsigned long nr_segs, loff_t pos) +ext4_file_dio_write(struct kiocb *iocb, struct iov_iter *iter, + loff_t pos) { struct file *file = iocb->ki_filp; struct inode *inode = file->f_mapping->host; @@ -100,11 +99,11 @@ ext4_file_dio_write(struct kiocb *iocb, const struct iovec *iov, int unaligned_aio = 0; ssize_t ret; int overwrite = 0; - size_t length = iov_length(iov, nr_segs); + size_t length = iov_iter_count(iter); if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS) && !is_sync_kiocb(iocb)) - unaligned_aio = ext4_unaligned_aio(inode, iov, nr_segs, pos); + unaligned_aio = ext4_unaligned_aio(inode, iter, pos); /* Unaligned direct AIO must be serialized; see comment above */ if (unaligned_aio) { @@ -145,7 +144,7 @@ ext4_file_dio_write(struct kiocb *iocb, const struct iovec *iov, overwrite = 1; } - ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos); + ret = __generic_file_write_iter(iocb, iter, &iocb->ki_pos); mutex_unlock(&inode->i_mutex); if (ret > 0 || ret == -EIOCBQUEUED) { @@ -164,8 +163,7 @@ ext4_file_dio_write(struct kiocb *iocb, const struct iovec *iov, } static ssize_t -ext4_file_write(struct kiocb *iocb, const struct iovec *iov, - unsigned long nr_segs, loff_t pos) +ext4_file_write_iter(struct kiocb *iocb, struct iov_iter *iter, loff_t pos) { struct inode *inode = iocb->ki_filp->f_path.dentry->d_inode; ssize_t ret; @@ -177,22 +175,24 @@ ext4_file_write(struct kiocb *iocb, const struct iovec *iov, if (!(ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))) { struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); - size_t length = iov_length(iov, nr_segs); + size_t length = iov_iter_count(iter); if ((pos > sbi->s_bitmap_maxbytes || (pos == sbi->s_bitmap_maxbytes && length > 0))) return -EFBIG; if (pos + length > sbi->s_bitmap_maxbytes) { - nr_segs = iov_shorten((struct iovec *)iov, nr_segs, - sbi->s_bitmap_maxbytes - pos); + ret = iov_iter_shorten(iter, + sbi->s_bitmap_maxbytes - pos); + if (ret) + return ret; } } if (unlikely(iocb->ki_filp->f_flags & O_DIRECT)) - ret = ext4_file_dio_write(iocb, iov, nr_segs, pos); + ret = ext4_file_dio_write(iocb, iter, pos); else - ret = generic_file_aio_write(iocb, iov, nr_segs, pos); + ret = generic_file_write_iter(iocb, iter, pos); return ret; } @@ -630,8 +630,8 @@ const struct file_operations ext4_file_operations = { .llseek = ext4_llseek, .read = do_sync_read, .write = do_sync_write, - .aio_read = generic_file_aio_read, - .aio_write = ext4_file_write, + .read_iter = generic_file_read_iter, + .write_iter = ext4_file_write_iter, .unlocked_ioctl = ext4_ioctl, #ifdef CONFIG_COMPAT .compat_ioctl = ext4_compat_ioctl, -- 1.8.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-01-10 12:40 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1357761525-22718-1-git-send-email-dave.kleikamp@oracle.com> 2013-01-09 19:58 ` [PATCH V5 18/30] fs: add read_iter and write_iter to several file systems Dave Kleikamp 2013-01-10 12:40 ` Boaz Harrosh 2013-01-09 19:58 ` [PATCH V5 20/30] ext4: add support for read_iter and write_iter Dave Kleikamp
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).