From: Dave Kleikamp <dave.kleikamp@oracle.com>
To: linux-fsdevel@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Zach Brown <zab@zabbo.net>,
"Maxim V. Patlasov" <mpatlasov@parallels.com>,
Dave Kleikamp <dave.kleikamp@oracle.com>,
v9fs-developer@lists.sourceforge.net, Jan Kara <jack@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
Andreas Dilger <adilger.kernel@dilger.ca>,
linux-ext4@vger.kernel.org,
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
jfs-discussion@lists.sourceforge.net,
linux-nilfs@vger.kernel.org, reiserfs-devel@vger.kernel.org
Subject: [PATCH 17/22] fs: add read_iter and write_iter to several file systems
Date: Mon, 22 Oct 2012 10:15:17 -0500 [thread overview]
Message-ID: <1350918922-6096-18-git-send-email-dave.kleikamp@oracle.com> (raw)
In-Reply-To: <1350918922-6096-1-git-send-email-dave.kleikamp@oracle.com>
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, ext2, ext3, fat, hfs, hfsplus,
jfs, nilfs2, and reiserfs.
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Cc: Zach Brown <zab@zabbo.net>
Cc: v9fs-developer@lists.sourceforge.net
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: jfs-discussion@lists.sourceforge.net
Cc: linux-nilfs@vger.kernel.org
Cc: reiserfs-devel@vger.kernel.org
---
fs/9p/vfs_file.c | 4 ++++
fs/ext2/file.c | 2 ++
fs/ext3/file.c | 2 ++
fs/fat/file.c | 2 ++
fs/hfs/inode.c | 2 ++
fs/hfsplus/inode.c | 2 ++
fs/jfs/file.c | 2 ++
fs/nilfs2/file.c | 2 ++
fs/reiserfs/file.c | 2 ++
9 files changed, 20 insertions(+)
diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
index c2483e9..d19458b 100644
--- a/fs/9p/vfs_file.c
+++ b/fs/9p/vfs_file.c
@@ -748,6 +748,8 @@ const struct file_operations v9fs_cached_file_operations = {
.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,
@@ -761,6 +763,8 @@ const struct file_operations v9fs_cached_file_operations_dotl = {
.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/ext2/file.c b/fs/ext2/file.c
index a5b3a5d..eee8f86 100644
--- a/fs/ext2/file.c
+++ b/fs/ext2/file.c
@@ -66,6 +66,8 @@ const struct file_operations ext2_file_operations = {
.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..86828f7 100644
--- a/fs/ext3/file.c
+++ b/fs/ext3/file.c
@@ -54,6 +54,8 @@ const struct file_operations ext3_file_operations = {
.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/fat/file.c b/fs/fat/file.c
index a62e0ec..250d1b7 100644
--- a/fs/fat/file.c
+++ b/fs/fat/file.c
@@ -166,6 +166,8 @@ const struct file_operations fat_file_operations = {
.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 986cb91..f750dbe 100644
--- a/fs/hfs/inode.c
+++ b/fs/hfs/inode.c
@@ -656,8 +656,10 @@ 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 94fc092..0191a0d 100644
--- a/fs/hfsplus/inode.c
+++ b/fs/hfsplus/inode.c
@@ -369,8 +369,10 @@ 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/jfs/file.c b/fs/jfs/file.c
index 9d3afd1..a49ede70 100644
--- a/fs/jfs/file.c
+++ b/fs/jfs/file.c
@@ -151,6 +151,8 @@ const struct file_operations jfs_file_operations = {
.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/nilfs2/file.c b/fs/nilfs2/file.c
index 16f35f7..f4c58c9 100644
--- a/fs/nilfs2/file.c
+++ b/fs/nilfs2/file.c
@@ -155,6 +155,8 @@ const struct file_operations nilfs_file_operations = {
.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/reiserfs/file.c b/fs/reiserfs/file.c
index 8375c92..8f86c2b 100644
--- a/fs/reiserfs/file.c
+++ b/fs/reiserfs/file.c
@@ -306,6 +306,8 @@ const struct file_operations reiserfs_file_operations = {
.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,
--
1.7.12.3
next prev parent reply other threads:[~2012-10-22 15:15 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-22 15:15 [PATCH v3 00/22] loop: Issue O_DIRECT aio using bio_vec Dave Kleikamp
2012-10-22 15:15 ` [PATCH 01/22] iov_iter: move into its own file Dave Kleikamp
2012-10-22 15:15 ` [PATCH 02/22] iov_iter: iov_iter_copy_from_user() should use non-atomic copy Dave Kleikamp
2012-10-22 15:15 ` [PATCH 03/22] iov_iter: add copy_to_user support Dave Kleikamp
[not found] ` <1350918922-6096-1-git-send-email-dave.kleikamp-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-10-22 15:15 ` [PATCH 04/22] fuse: convert fuse to use iov_iter_copy_[to|from]_user Dave Kleikamp
2012-10-22 15:15 ` [PATCH 05/22] iov_iter: hide iovec details behind ops function pointers Dave Kleikamp
2012-10-22 15:15 ` [PATCH 06/22] iov_iter: add bvec support Dave Kleikamp
2012-10-22 15:15 ` [PATCH 07/22] iov_iter: add a shorten call Dave Kleikamp
2012-10-22 15:15 ` [PATCH 08/22] iov_iter: let callers extract iovecs and bio_vecs Dave Kleikamp
2012-10-22 15:15 ` [PATCH 09/22] dio: create a dio_aligned() helper function Dave Kleikamp
2012-10-22 15:15 ` [PATCH 10/22] dio: Convert direct_IO to use iov_iter Dave Kleikamp
2012-10-22 15:15 ` [PATCH 11/22] dio: add bio_vec support to __blockdev_direct_IO() Dave Kleikamp
2012-10-22 15:15 ` [PATCH 12/22] fs: pull iov_iter use higher up the stack Dave Kleikamp
2012-10-22 15:15 ` [PATCH 13/22] aio: add aio_kernel_() interface Dave Kleikamp
2012-10-22 15:15 ` [PATCH 14/22] aio: add aio support for iov_iter arguments Dave Kleikamp
2012-10-22 15:15 ` [PATCH 15/22] bio: add bvec_length(), like iov_length() Dave Kleikamp
2012-10-22 15:15 ` [PATCH 16/22] loop: use aio to perform io on the underlying file Dave Kleikamp
2012-10-22 15:15 ` Dave Kleikamp [this message]
2012-10-22 15:15 ` [PATCH 18/22] ocfs2: add support for read_iter, write_iter, and direct_IO_bvec Dave Kleikamp
2012-10-22 15:15 ` [PATCH 19/22] ext4: add support for read_iter and write_iter Dave Kleikamp
2012-10-22 15:15 ` [PATCH 20/22] nfs: add support for read_iter, write_iter Dave Kleikamp
2012-10-22 15:21 ` Myklebust, Trond
2012-10-22 15:35 ` Dave Kleikamp
2012-10-22 15:15 ` [PATCH 21/22] btrfs: add support for read_iter and write_iter Dave Kleikamp
2012-10-22 15:15 ` [PATCH 22/22] block_dev: add support for read_iter, write_iter Dave Kleikamp
2012-10-23 0:07 ` [PATCH v3 00/22] loop: Issue O_DIRECT aio using bio_vec Dave Chinner
2012-10-23 0:53 ` Dave Kleikamp
2012-10-23 1:59 ` Dave Chinner
2012-10-23 13:04 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1350918922-6096-18-git-send-email-dave.kleikamp@oracle.com \
--to=dave.kleikamp@oracle.com \
--cc=adilger.kernel@dilger.ca \
--cc=akpm@linux-foundation.org \
--cc=hirofumi@mail.parknet.co.jp \
--cc=jack@suse.cz \
--cc=jfs-discussion@lists.sourceforge.net \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nilfs@vger.kernel.org \
--cc=mpatlasov@parallels.com \
--cc=reiserfs-devel@vger.kernel.org \
--cc=v9fs-developer@lists.sourceforge.net \
--cc=zab@zabbo.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).