* [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
* [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
* 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
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).