[PATCH V6 06/30] iov_iter: add bvec support

2013-01-29 Thread Dave Kleikamp
always use kmap_atomic() to map them one at a time. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- fs/iov-iter.c | 128 + include/linux/fs.h | 19 2 files changed, 147 insertions(+) diff --git a/fs/iov-iter.c b/fs/iov-iter.c

[PATCH V6 26/30] gfs2: Convert aio_read/write ops to read/write_iter

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp Cc: Steven Whitehouse Cc: cluster-de...@redhat.com --- fs/gfs2/file.c | 21 ++--- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index 991ab2d..63af1a6 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c

[PATCH V6 13/30] aio: add aio support for iov_iter arguments

2013-01-29 Thread Dave Kleikamp
to expose the IOCB_CMD values for this as part of the user space ABI. But kernel callers should also be able to perform the usual aio operations which suggests using the the existing operation namespace and support code. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- fs/aio.c

[PATCH V6 23/30] btrfs: add support for read_iter and write_iter

2013-01-29 Thread Dave Kleikamp
btrfs can use generic_file_read_iter(). Base btrfs_file_write_iter() on btrfs_file_aio_write(), then have the latter call the former. Signed-off-by: Dave Kleikamp Cc: Zach Brown Cc: Chris Mason Cc: linux-bt...@vger.kernel.org --- fs/btrfs/file.c | 42

[PATCH V6 30/30] ubifs: convert file ops from aio_read/write to read/write_iter

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp Cc: Artem Bityutskiy Cc: Adrian Hunter Cc: linux-...@lists.infradead.org --- fs/ubifs/file.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c index 5bc7781..cfe6210 100644 --- a/fs/ubifs/file.c +++ b

[PATCH V6 05/30] iov_iter: hide iovec details behind ops function pointers

2013-01-29 Thread Dave Kleikamp
that dealt with bio_vecs in all the functions. It wasn't pretty. This approach seems to be the lesser evil. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- fs/cifs/file.c | 4 ++-- fs/iov-iter.c | 66 -- include/linux/fs.h | 70

[PATCH V6 29/30] ecrpytfs: Convert aio_read/write ops to read/write_iter

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp Cc: Tyler Hicks Cc: Dustin Kirkland Cc: ecryp...@vger.kernel.org --- fs/ecryptfs/file.c | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c index d45ba45..5aaa180 100644 --- a/fs/ecryptfs

[PATCH V6 19/30] ocfs2: add support for read_iter, write_iter, and direct_IO_bvec

2013-01-29 Thread Dave Kleikamp
From: Zach Brown ocfs2's .aio_read and .aio_write methods are changed to take iov_iter and pass it to generic functions. Wrappers are made to pack the iovecs into iters and call these new functions. Signed-off-by: Dave Kleikamp Cc: Zach Brown Cc: Mark Fasheh Cc: Joel Becker Cc: ocfs2-de

[PATCH V6 04/30] fuse: convert fuse to use iov_iter_copy_[to|from]_user

2013-01-29 Thread Dave Kleikamp
A future patch hides the internals of struct iov_iter, so fuse should be using the supported interface. Signed-off-by: Dave Kleikamp Acked-by: Miklos Szeredi Cc: fuse-de...@lists.sourceforge.net --- fs/fuse/file.c | 29 - 1 file changed, 8 insertions(+), 21

[PATCH V6 24/30] block_dev: add support for read_iter, write_iter

2013-01-29 Thread Dave Kleikamp
From: Asias He Signed-off-by: Asias He Signed-off-by: Dave Kleikamp --- drivers/char/raw.c | 4 ++-- fs/block_dev.c | 19 +-- include/linux/fs.h | 4 ++-- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/drivers/char/raw.c b/drivers/char/raw.c index

[PATCH V6 22/30] nfs: simplify swap

2013-01-29 Thread Dave Kleikamp
swap_writepage can now call nfs's write_iter f_op, eliminating the need to implement for the special-case direct_IO a_op. There is no longer a need to pass the uio flag through the direct write path. Signed-off-by: Dave Kleikamp Acked-by: Rik van Riel Cc: Mel Gorman Cc: Trond Myklebust Cc

[PATCH V6 21/30] nfs: add support for read_iter, write_iter

2013-01-29 Thread Dave Kleikamp
This patch implements the read_iter and write_iter file operations which allow kernel code to initiate directIO. This allows the loop device to read and write directly to the server, bypassing the page cache. Signed-off-by: Dave Kleikamp Cc: Zach Brown Cc: Trond Myklebust Cc: linux

[PATCH V6 08/30] iov_iter: let callers extract iovecs and bio_vecs

2013-01-29 Thread Dave Kleikamp
that includes these different behaviours we let direct IO extract the memory structs and hand them to the existing code. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- include/linux/fs.h | 17 + 1 file changed, 17 insertions(+) diff --git a/include/linux/fs.h b/include/linux/fs.h index

[PATCH V6 20/30] ext4: add support for read_iter and write_iter

2013-01-29 Thread Dave Kleikamp
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 Cc: Zach Brown Cc: "Theodore Ts'o" Cc: Andreas Dilger Cc: linux-e...@vger.kernel.org --- fs/e

[PATCH V6 27/30] udf: convert file ops from aio_read/write to read/write_iter

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp Cc: Jan Kara --- fs/udf/file.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/udf/file.c b/fs/udf/file.c index c4164dc..a5d69c0 100644 --- a/fs/udf/file.c +++ b/fs/udf/file.c @@ -133,8 +133,8 @@ const struct

[PATCH V6 11/30] fs: pull iov_iter use higher up the stack

2013-01-29 Thread Dave Kleikamp
of working through the iov_iter abstraction. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- Documentation/filesystems/Locking | 2 + Documentation/filesystems/vfs.txt | 8 ++ include/linux/fs.h| 12 ++ mm/filemap.c | 258

[PATCH V6 28/30] afs: add support for read_iter and write_iter

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp Cc: David Howells Cc: linux-...@lists.infradead.org --- fs/afs/file.c | 4 ++-- fs/afs/internal.h | 3 +-- fs/afs/write.c| 9 - 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/fs/afs/file.c b/fs/afs/file.c index 8f6e923..27b9b66 100644

[PATCH V6 14/30] bio: add bvec_length(), like iov_length()

2013-01-29 Thread Dave Kleikamp
From: Zach Brown Signed-off-by: Dave Kleikamp Cc: Zach Brown --- include/linux/bio.h | 8 1 file changed, 8 insertions(+) diff --git a/include/linux/bio.h b/include/linux/bio.h index 820e7aa..f5f9829 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -290,6 +290,14

[PATCH V6 14/30] bio: add bvec_length(), like iov_length()

2013-01-29 Thread Dave Kleikamp
From: Zach Brown z...@zabbo.net Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- include/linux/bio.h | 8 1 file changed, 8 insertions(+) diff --git a/include/linux/bio.h b/include/linux/bio.h index 820e7aa..f5f9829 100644 --- a/include/linux

[PATCH V6 28/30] afs: add support for read_iter and write_iter

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: David Howells dhowe...@redhat.com Cc: linux-...@lists.infradead.org --- fs/afs/file.c | 4 ++-- fs/afs/internal.h | 3 +-- fs/afs/write.c| 9 - 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/fs/afs/file.c b

[PATCH V6 11/30] fs: pull iov_iter use higher up the stack

2013-01-29 Thread Dave Kleikamp
directly instead of working through the iov_iter abstraction. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- Documentation/filesystems/Locking | 2 + Documentation/filesystems/vfs.txt | 8 ++ include/linux/fs.h| 12 ++ mm/filemap.c

[PATCH V6 27/30] udf: convert file ops from aio_read/write to read/write_iter

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Jan Kara j...@suse.cz --- fs/udf/file.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/udf/file.c b/fs/udf/file.c index c4164dc..a5d69c0 100644 --- a/fs/udf/file.c +++ b/fs/udf/file.c @@ -133,8 +133,8

[PATCH V6 20/30] ext4: add support for read_iter and write_iter

2013-01-29 Thread Dave Kleikamp
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.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net Cc: Theodore Ts'o ty...@mit.edu Cc: Andreas Dilger

[PATCH V6 21/30] nfs: add support for read_iter, write_iter

2013-01-29 Thread Dave Kleikamp
This patch implements the read_iter and write_iter file operations which allow kernel code to initiate directIO. This allows the loop device to read and write directly to the server, bypassing the page cache. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net Cc

[PATCH V6 08/30] iov_iter: let callers extract iovecs and bio_vecs

2013-01-29 Thread Dave Kleikamp
an abstraction that includes these different behaviours we let direct IO extract the memory structs and hand them to the existing code. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- include/linux/fs.h | 17 + 1 file changed, 17 insertions(+) diff

[PATCH V6 24/30] block_dev: add support for read_iter, write_iter

2013-01-29 Thread Dave Kleikamp
From: Asias He as...@redhat.com Signed-off-by: Asias He as...@redhat.com Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com --- drivers/char/raw.c | 4 ++-- fs/block_dev.c | 19 +-- include/linux/fs.h | 4 ++-- 3 files changed, 13 insertions(+), 14 deletions(-) diff

[PATCH V6 22/30] nfs: simplify swap

2013-01-29 Thread Dave Kleikamp
swap_writepage can now call nfs's write_iter f_op, eliminating the need to implement for the special-case direct_IO a_op. There is no longer a need to pass the uio flag through the direct write path. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Acked-by: Rik van Riel r...@redhat.com Cc

[PATCH V6 04/30] fuse: convert fuse to use iov_iter_copy_[to|from]_user

2013-01-29 Thread Dave Kleikamp
A future patch hides the internals of struct iov_iter, so fuse should be using the supported interface. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Acked-by: Miklos Szeredi mszer...@suse.cz Cc: fuse-de...@lists.sourceforge.net --- fs/fuse/file.c | 29 - 1

[PATCH V6 19/30] ocfs2: add support for read_iter, write_iter, and direct_IO_bvec

2013-01-29 Thread Dave Kleikamp
From: Zach Brown z...@zabbo.net ocfs2's .aio_read and .aio_write methods are changed to take iov_iter and pass it to generic functions. Wrappers are made to pack the iovecs into iters and call these new functions. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z

[PATCH V6 29/30] ecrpytfs: Convert aio_read/write ops to read/write_iter

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Tyler Hicks tyhi...@canonical.com Cc: Dustin Kirkland dustin.kirkl...@gazzang.com Cc: ecryp...@vger.kernel.org --- fs/ecryptfs/file.c | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/fs/ecryptfs/file.c b

[PATCH V6 30/30] ubifs: convert file ops from aio_read/write to read/write_iter

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Artem Bityutskiy dedeki...@gmail.com Cc: Adrian Hunter adrian.hun...@intel.com Cc: linux-...@lists.infradead.org --- fs/ubifs/file.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/ubifs/file.c b/fs

[PATCH V6 05/30] iov_iter: hide iovec details behind ops function pointers

2013-01-29 Thread Dave Kleikamp
conditional branches that dealt with bio_vecs in all the functions. It wasn't pretty. This approach seems to be the lesser evil. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- fs/cifs/file.c | 4 ++-- fs/iov-iter.c | 66

[PATCH V6 23/30] btrfs: add support for read_iter and write_iter

2013-01-29 Thread Dave Kleikamp
btrfs can use generic_file_read_iter(). Base btrfs_file_write_iter() on btrfs_file_aio_write(), then have the latter call the former. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net Cc: Chris Mason chris.ma...@fusionio.com Cc: linux-bt...@vger.kernel.org

[PATCH V6 26/30] gfs2: Convert aio_read/write ops to read/write_iter

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Steven Whitehouse swhit...@redhat.com Cc: cluster-de...@redhat.com --- fs/gfs2/file.c | 21 ++--- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index 991ab2d..63af1a6 100644

[PATCH V6 13/30] aio: add aio support for iov_iter arguments

2013-01-29 Thread Dave Kleikamp
a lot of sense to expose the IOCB_CMD values for this as part of the user space ABI. But kernel callers should also be able to perform the usual aio operations which suggests using the the existing operation namespace and support code. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach

[PATCH V6 06/30] iov_iter: add bvec support

2013-01-29 Thread Dave Kleikamp
in and we can always use kmap_atomic() to map them one at a time. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- fs/iov-iter.c | 128 + include/linux/fs.h | 19 2 files changed, 147

[PATCH V6 00/30] loop: Issue O_DIRECT aio using bio_vec

2013-01-29 Thread Dave Kleikamp
://github.com/kleikamp/linux-shaggy.git loop_v6 Asias He (1): block_dev: add support for read_iter, write_iter Dave Kleikamp (17): iov_iter: iov_iter_copy_from_user() should use non-atomic copy fuse: convert fuse to use iov_iter_copy_[to|from]_user dio: Convert direct_IO to use iov_iter dio: add

[PATCH V6 12/30] aio: add aio_kernel_() interface

2013-01-29 Thread Dave Kleikamp
that the user space interface doesn't have access to. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- fs/aio.c| 92 + include/linux/aio.h | 15 + 2 files changed, 107 insertions(+) diff

[PATCH V6 10/30] dio: add bio_vec support to __blockdev_direct_IO()

2013-01-29 Thread Dave Kleikamp
. The caller is responsible for dirtying these pages, if needed. We add an option to the dio struct that makes sure we only dirty pages when we're operating on iovecs of user addresses. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- fs/direct-io.c | 206

[PATCH V6 03/30] iov_iter: add copy_to_user support

2013-01-29 Thread Dave Kleikamp
From: Zach Brown z...@zabbo.net This adds iov_iter wrappers around copy_to_user() to match the existing wrappers around copy_from_user(). This will be used by the generic file system buffered read path. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- fs

[PATCH V6 17/30] fs: use read_iter and write_iter rather than aio_read and aio_write

2013-01-29 Thread Dave Kleikamp
File systems implementing read_iter write_iter should not be required to keep aio_read and aio_write as well. The vfs should always call read/write_iter if they exist. This will make it easier to remove the aio_read/write operation in the future. Signed-off-by: Dave Kleikamp dave.kleik

[PATCH V6 25/30] xfs: add support for read_iter and write_iter

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Ben Myers b...@sgi.com Cc: Alex Elder el...@kernel.org Cc: x...@oss.sgi.com --- fs/xfs/xfs_file.c | 51 --- 1 file changed, 20 insertions(+), 31 deletions(-) diff --git a/fs/xfs/xfs_file.c b

[PATCH V6 16/30] fs: create file_readable() and file_writable() functions

2013-01-29 Thread Dave Kleikamp
Create functions to simplify if file_ops contain either a read or aio_read op, or likewise write or aio_write. We will be adding read_iter and write_iter and don't need to be complicating the code in multiple places. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com --- drivers/mtd/nand

[PATCH V6 15/30] loop: use aio to perform io on the underlying file

2013-01-29 Thread Dave Kleikamp
of mappings of the pages. The use of aio operations is enabled when the backing file supports the read_iter, write_iter and direct_IO methods. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- drivers/block/loop.c | 148

[PATCH V6 02/30] iov_iter: iov_iter_copy_from_user() should use non-atomic copy

2013-01-29 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com --- fs/iov-iter.c | 17 ++--- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/fs/iov-iter.c b/fs/iov-iter.c index 83f7594..5c4f3a5 100644 --- a/fs/iov-iter.c +++ b/fs/iov-iter.c @@ -6,8 +6,8 @@ #include linux

[PATCH V6 07/30] iov_iter: add a shorten call

2013-01-29 Thread Dave Kleikamp
. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- fs/iov-iter.c | 14 ++ include/linux/fs.h | 5 + 2 files changed, 19 insertions(+) diff --git a/fs/iov-iter.c b/fs/iov-iter.c index 22ef9ca..ac2d96e 100644 --- a/fs/iov-iter.c +++ b/fs/iov

[PATCH V6 01/30] iov_iter: move into its own file

2013-01-29 Thread Dave Kleikamp
From: Zach Brown z...@zabbo.net This moves the iov_iter functions in to their own file. We're going to be working on them in upcoming patches. They become sufficiently large, and remain self-contained, to justify seperating them from the rest of the huge mm/filemap.c. Signed-off-by: Dave

Re: [PATCH V6 00/30] loop: Issue O_DIRECT aio using bio_vec

2013-01-29 Thread Dave Kleikamp
On 01/29/2013 12:42 PM, Jeff Moyer wrote: Dave Kleikamp dave.kleik...@oracle.com writes: Al, I'd like to push this patchset to linux-next. Would you like to pull it into your vfs tree, would you rather I submitted it separately, or do you have any issues with it before including it? I'm

[PATCH V6 18/30] fs: add read_iter and write_iter to several file systems

2013-01-29 Thread Dave Kleikamp
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.kleik...@oracle.com Acked-by: Boaz Harrosh bharr...@panasas.com Cc: Zach Brown z...@zabbo.net Cc

[PATCH V6 18/30] fs: add read_iter and write_iter to several file systems

2013-01-29 Thread Dave Kleikamp
, 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.kleik...@oracle.com Acked-by: Boaz Harrosh bharr...@panasas.com Cc: Zach Brown z...@zabbo.net Cc: v9fs-develo

Re: [PATCH V6 00/30] loop: Issue O_DIRECT aio using bio_vec

2013-01-29 Thread Dave Kleikamp
On 01/29/2013 12:42 PM, Jeff Moyer wrote: Dave Kleikamp dave.kleik...@oracle.com writes: Al, I'd like to push this patchset to linux-next. Would you like to pull it into your vfs tree, would you rather I submitted it separately, or do you have any issues with it before including it? I'm

Re: [PATCH V5 00/30] loop: Issue O_DIRECT aio using bio_vec

2013-01-18 Thread Dave Kleikamp
On 01/18/2013 03:48 PM, Jeff Moyer wrote: > Dave Kleikamp writes: > >> On 01/18/2013 11:56 AM, Jeff Moyer wrote: >>> Jeff Moyer writes: >>> >>>> ./check -g aio >>>> >>>> and here is the summary: >>>> >>&g

Re: [PATCH V5 17/30] fs: use read_iter and write_iter rather than aio_read and aio_write

2013-01-18 Thread Dave Kleikamp
On 01/18/2013 03:26 PM, Jeff Moyer wrote: > Dave Kleikamp writes: > >> @@ -1315,10 +1317,10 @@ static ssize_t aio_rw_vect_retry(struct kiocb *iocb) >> >> if ((iocb->ki_opcode == IOCB_CMD_PREADV) || >> (iocb->ki_opcode == IOCB_CMD_PREAD))

Re: [PATCH V5 00/30] loop: Issue O_DIRECT aio using bio_vec

2013-01-18 Thread Dave Kleikamp
On 01/18/2013 11:56 AM, Jeff Moyer wrote: > Jeff Moyer writes: > >> ./check -g aio >> >> and here is the summary: >> >> Ran: 112 113 198 207 208 209 210 211 212 239 240 >> Failures: 112 198 207 239 240 >> Failed 5 of 11 tests >> >> To be fair, I have not yet run this on a kernel without your

Re: [PATCH V5 00/30] loop: Issue O_DIRECT aio using bio_vec

2013-01-18 Thread Dave Kleikamp
On 01/18/2013 11:56 AM, Jeff Moyer wrote: Jeff Moyer jmo...@redhat.com writes: ./check -g aio and here is the summary: Ran: 112 113 198 207 208 209 210 211 212 239 240 Failures: 112 198 207 239 240 Failed 5 of 11 tests To be fair, I have not yet run this on a kernel without your

Re: [PATCH V5 17/30] fs: use read_iter and write_iter rather than aio_read and aio_write

2013-01-18 Thread Dave Kleikamp
On 01/18/2013 03:26 PM, Jeff Moyer wrote: Dave Kleikamp dave.kleik...@oracle.com writes: @@ -1315,10 +1317,10 @@ static ssize_t aio_rw_vect_retry(struct kiocb *iocb) if ((iocb-ki_opcode == IOCB_CMD_PREADV) || (iocb-ki_opcode == IOCB_CMD_PREAD)) { -rw_op

Re: [PATCH V5 00/30] loop: Issue O_DIRECT aio using bio_vec

2013-01-18 Thread Dave Kleikamp
On 01/18/2013 03:48 PM, Jeff Moyer wrote: Dave Kleikamp dave.kleik...@oracle.com writes: On 01/18/2013 11:56 AM, Jeff Moyer wrote: Jeff Moyer jmo...@redhat.com writes: ./check -g aio and here is the summary: Ran: 112 113 198 207 208 209 210 211 212 239 240 Failures: 112 198 207 239 240

Re: [PATCH V5 00/30] loop: Issue O_DIRECT aio using bio_vec

2013-01-11 Thread Dave Kleikamp
On 01/10/2013 09:46 AM, Sedat Dilek wrote: > Hi Dave, > > I am using here Ubuntu/precise AMD64 as a WUBI-installed system. > > Not sure if WUBI [1] is a good test-candidate. > > [ /boot/grub/grub.cfg ] > ... > set root=(loop0) > linux /boot/vmlinuz-3.8.0-rc2-9-iniza-generic >

Re: [PATCH V5 00/30] loop: Issue O_DIRECT aio using bio_vec

2013-01-11 Thread Dave Kleikamp
On 01/10/2013 09:46 AM, Sedat Dilek wrote: Hi Dave, I am using here Ubuntu/precise AMD64 as a WUBI-installed system. Not sure if WUBI [1] is a good test-candidate. [ /boot/grub/grub.cfg ] ... set root=(loop0) linux /boot/vmlinuz-3.8.0-rc2-9-iniza-generic

Re: [PATCH V5 26/30] gfs2: Convert aio_read/write ops to read/write_iter

2013-01-10 Thread Dave Kleikamp
On 01/10/2013 04:10 AM, Steven Whitehouse wrote: > Hi, > > On Wed, 2013-01-09 at 13:58 -0600, Dave Kleikamp wrote: >> Signed-off-by: Dave Kleikamp >> Cc: Steven Whitehouse >> Cc: cluster-de...@redhat.com >> --- >> fs/gfs2/file.c | 21 ++--

Re: [PATCH V5 26/30] gfs2: Convert aio_read/write ops to read/write_iter

2013-01-10 Thread Dave Kleikamp
On 01/10/2013 04:10 AM, Steven Whitehouse wrote: Hi, On Wed, 2013-01-09 at 13:58 -0600, Dave Kleikamp wrote: Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Steven Whitehouse swhit...@redhat.com Cc: cluster-de...@redhat.com --- fs/gfs2/file.c | 21 ++--- 1 file

Re: i915_hangcheck_hung problem with 3.8-rc2+ (Linus's latest tree)

2013-01-09 Thread Dave Kleikamp
On 01/09/2013 01:44 PM, Dave Kleikamp wrote: > > I can easily reproduce it running glxgears on 3.8-rc1 or 3.8-rc2. > > 00:02.0 VGA compatible controller [0300]: Intel Corporation Core > Processor Integrated Graphics Controller [8086:0046] (rev 02) > > Thinkpad T410 >

[PATCH V5 02/30] iov_iter: iov_iter_copy_from_user() should use non-atomic copy

2013-01-09 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp --- fs/iov-iter.c | 17 ++--- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/fs/iov-iter.c b/fs/iov-iter.c index 83f7594..5c4f3a5 100644 --- a/fs/iov-iter.c +++ b/fs/iov-iter.c @@ -6,8 +6,8 @@ #include #include -static size_t

[PATCH V5 21/30] nfs: add support for read_iter, write_iter

2013-01-09 Thread Dave Kleikamp
This patch implements the read_iter and write_iter file operations which allow kernel code to initiate directIO. This allows the loop device to read and write directly to the server, bypassing the page cache. Signed-off-by: Dave Kleikamp Cc: Zach Brown Cc: Trond Myklebust Cc: linux

[PATCH V5 08/30] iov_iter: let callers extract iovecs and bio_vecs

2013-01-09 Thread Dave Kleikamp
that includes these different behaviours we let direct IO extract the memory structs and hand them to the existing code. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- include/linux/fs.h | 17 + 1 file changed, 17 insertions(+) diff --git a/include/linux/fs.h b/include/linux/fs.h index

[PATCH V5 03/30] iov_iter: add copy_to_user support

2013-01-09 Thread Dave Kleikamp
From: Zach Brown This adds iov_iter wrappers around copy_to_user() to match the existing wrappers around copy_from_user(). This will be used by the generic file system buffered read path. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- fs/iov-iter.c | 80

[PATCH V5 11/30] fs: pull iov_iter use higher up the stack

2013-01-09 Thread Dave Kleikamp
of working through the iov_iter abstraction. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- Documentation/filesystems/Locking | 2 + Documentation/filesystems/vfs.txt | 8 ++ include/linux/fs.h| 12 ++ mm/filemap.c | 258

[PATCH V5 29/30] ecrpytfs: Convert aio_read/write ops to read/write_iter

2013-01-09 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp Cc: Tyler Hicks Cc: Dustin Kirkland Cc: ecryp...@vger.kernel.org --- fs/ecryptfs/file.c | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c index d45ba45..5aaa180 100644 --- a/fs/ecryptfs

[PATCH V5 05/30] iov_iter: hide iovec details behind ops function pointers

2013-01-09 Thread Dave Kleikamp
that dealt with bio_vecs in all the functions. It wasn't pretty. This approach seems to be the lesser evil. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- fs/cifs/file.c | 4 ++-- fs/iov-iter.c | 66 -- include/linux/fs.h | 70

[PATCH V5 20/30] ext4: add support for read_iter and write_iter

2013-01-09 Thread Dave Kleikamp
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 Cc: Zach Brown Cc: "Theodore Ts'o" Cc: Andreas Dilger Cc: linux-e...@vger.kernel.org --- fs/e

[PATCH V5 10/30] dio: add bio_vec support to __blockdev_direct_IO()

2013-01-09 Thread Dave Kleikamp
. The caller is responsible for dirtying these pages, if needed. We add an option to the dio struct that makes sure we only dirty pages when we're operating on iovecs of user addresses. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- fs/direct-io.c | 206

[PATCH V5 19/30] ocfs2: add support for read_iter, write_iter, and direct_IO_bvec

2013-01-09 Thread Dave Kleikamp
From: Zach Brown ocfs2's .aio_read and .aio_write methods are changed to take iov_iter and pass it to generic functions. Wrappers are made to pack the iovecs into iters and call these new functions. Signed-off-by: Dave Kleikamp Cc: Zach Brown Cc: Mark Fasheh Cc: Joel Becker Cc: ocfs2-de

[PATCH V5 30/30] ubifs: convert file ops from aio_read/write to read/write_iter

2013-01-09 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp Cc: Artem Bityutskiy Cc: Adrian Hunter Cc: linux-...@lists.infradead.org --- fs/ubifs/file.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c index 5bc7781..cfe6210 100644 --- a/fs/ubifs/file.c +++ b

[PATCH V5 16/30] fs: create file_readable() and file_writable() functions

2013-01-09 Thread Dave Kleikamp
Create functions to simplify if file_ops contain either a read or aio_read op, or likewise write or aio_write. We will be adding read_iter and write_iter and don't need to be complicating the code in multiple places. Signed-off-by: Dave Kleikamp --- drivers/mtd/nand/nandsim.c | 4

[PATCH V5 06/30] iov_iter: add bvec support

2013-01-09 Thread Dave Kleikamp
always use kmap_atomic() to map them one at a time. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- fs/iov-iter.c | 128 + include/linux/fs.h | 19 2 files changed, 147 insertions(+) diff --git a/fs/iov-iter.c b/fs/iov-iter.c

[PATCH V5 13/30] aio: add aio support for iov_iter arguments

2013-01-09 Thread Dave Kleikamp
to expose the IOCB_CMD values for this as part of the user space ABI. But kernel callers should also be able to perform the usual aio operations which suggests using the the existing operation namespace and support code. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- fs/aio.c

[PATCH V5 12/30] aio: add aio_kernel_() interface

2013-01-09 Thread Dave Kleikamp
space interface doesn't have access to. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- fs/aio.c| 92 + include/linux/aio.h | 15 + 2 files changed, 107 insertions(+) diff --git a/fs/aio.c b/fs/aio.c index 71f613c..9a1a6fc

[PATCH V5 01/30] iov_iter: move into its own file

2013-01-09 Thread Dave Kleikamp
From: Zach Brown This moves the iov_iter functions in to their own file. We're going to be working on them in upcoming patches. They become sufficiently large, and remain self-contained, to justify seperating them from the rest of the huge mm/filemap.c. Signed-off-by: Dave Kleikamp Acked

[PATCH V5 28/30] afs: add support for read_iter and write_iter

2013-01-09 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp Cc: David Howells Cc: linux-...@lists.infradead.org --- fs/afs/file.c | 4 ++-- fs/afs/internal.h | 3 +-- fs/afs/write.c| 9 - 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/fs/afs/file.c b/fs/afs/file.c index 8f6e923..27b9b66 100644

[PATCH V5 04/30] fuse: convert fuse to use iov_iter_copy_[to|from]_user

2013-01-09 Thread Dave Kleikamp
A future patch hides the internals of struct iov_iter, so fuse should be using the supported interface. Signed-off-by: Dave Kleikamp Acked-by: Miklos Szeredi Cc: fuse-de...@lists.sourceforge.net --- fs/fuse/file.c | 29 - 1 file changed, 8 insertions(+), 21

[PATCH V5 24/30] block_dev: add support for read_iter, write_iter

2013-01-09 Thread Dave Kleikamp
From: Asias He Signed-off-by: Asias He Signed-off-by: Dave Kleikamp --- drivers/char/raw.c | 4 ++-- fs/block_dev.c | 19 +-- include/linux/fs.h | 4 ++-- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/drivers/char/raw.c b/drivers/char/raw.c index

[PATCH V5 15/30] loop: use aio to perform io on the underlying file

2013-01-09 Thread Dave Kleikamp
of the pages. The use of aio operations is enabled when the backing file supports the read_iter, write_iter and direct_IO methods. Signed-off-by: Dave Kleikamp Cc: Zach Brown --- drivers/block/loop.c | 148 +- include/uapi/linux/loop.h | 1 + 2

[PATCH V5 25/30] xfs: add support for read_iter and write_iter

2013-01-09 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp Cc: Ben Myers Cc: Alex Elder Cc: x...@oss.sgi.com --- fs/xfs/xfs_file.c | 51 --- 1 file changed, 20 insertions(+), 31 deletions(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index 67284ed..c5d74e8 100644

[PATCH V5 23/30] btrfs: add support for read_iter and write_iter

2013-01-09 Thread Dave Kleikamp
btrfs can use generic_file_read_iter(). Base btrfs_file_write_iter() on btrfs_file_aio_write(), then have the latter call the former. Signed-off-by: Dave Kleikamp Cc: Zach Brown Cc: Chris Mason Cc: linux-bt...@vger.kernel.org --- fs/btrfs/file.c | 42

[PATCH V5 22/30] nfs: simplify swap

2013-01-09 Thread Dave Kleikamp
swap_writepage can now call nfs's write_iter f_op, eliminating the need to implement for the special-case direct_IO a_op. There is no longer a need to pass the uio flag through the direct write path. Signed-off-by: Dave Kleikamp Cc: Mel Gorman Cc: Trond Myklebust Cc: linux-...@vger.kernel.org

[PATCH V5 27/30] udf: convert file ops from aio_read/write to read/write_iter

2013-01-09 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp Cc: Jan Kara --- fs/udf/file.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/udf/file.c b/fs/udf/file.c index c4164dc..a5d69c0 100644 --- a/fs/udf/file.c +++ b/fs/udf/file.c @@ -133,8 +133,8 @@ const struct

[PATCH V5 09/30] dio: Convert direct_IO to use iov_iter

2013-01-09 Thread Dave Kleikamp
Change the direct_IO aop to take an iov_iter argument rather than an iovec. This will get passed down through most filesystems so that only the __blockdev_direct_IO helper need be aware of whether user or kernel memory is being passed to the function. Signed-off-by: Dave Kleikamp

[PATCH V5 00/30] loop: Issue O_DIRECT aio using bio_vec

2013-01-09 Thread Dave Kleikamp
for linux-next. Asias He (1): block_dev: add support for read_iter, write_iter Dave Kleikamp (17): iov_iter: iov_iter_copy_from_user() should use non-atomic copy fuse: convert fuse to use iov_iter_copy_[to|from]_user dio: Convert direct_IO to use iov_iter dio: add bio_vec support

[PATCH V5 07/30] iov_iter: add a shorten call

2013-01-09 Thread Dave Kleikamp
-by: Dave Kleikamp Cc: Zach Brown --- fs/iov-iter.c | 14 ++ include/linux/fs.h | 5 + 2 files changed, 19 insertions(+) diff --git a/fs/iov-iter.c b/fs/iov-iter.c index 22ef9ca..ac2d96e 100644 --- a/fs/iov-iter.c +++ b/fs/iov-iter.c @@ -202,6 +202,11 @@ static size_t

[PATCH V5 14/30] bio: add bvec_length(), like iov_length()

2013-01-09 Thread Dave Kleikamp
From: Zach Brown Signed-off-by: Dave Kleikamp Cc: Zach Brown --- include/linux/bio.h | 8 1 file changed, 8 insertions(+) diff --git a/include/linux/bio.h b/include/linux/bio.h index 820e7aa..f5f9829 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -290,6 +290,14

[PATCH V5 17/30] fs: use read_iter and write_iter rather than aio_read and aio_write

2013-01-09 Thread Dave Kleikamp
File systems implementing read_iter & write_iter should not be required to keep aio_read and aio_write as well. The vfs should always call read/write_iter if they exist. This will make it easier to remove the aio_read/write operation in the future. Signed-off-by: Dave Kleikamp Cc: Alexander

[PATCH V5 26/30] gfs2: Convert aio_read/write ops to read/write_iter

2013-01-09 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp Cc: Steven Whitehouse Cc: cluster-de...@redhat.com --- fs/gfs2/file.c | 21 ++--- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index 991ab2d..63af1a6 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c

Re: i915_hangcheck_hung problem with 3.8-rc2+ (Linus's latest tree)

2013-01-09 Thread Dave Kleikamp
On 01/09/2013 01:28 AM, Lijo Antony wrote: > On 01/09/2013 09:31 AM, Dave Airlie wrote: >> On Wed, Jan 9, 2013 at 2:25 PM, Greg KH >> wrote: >>> On Wed, Jan 09, 2013 at 01:42:39PM +1000, Dave Airlie wrote: >> Hi all, >> >> I've hit this 3 times today on Linus's latest 3.8-rc2+ tree:

Re: i915_hangcheck_hung problem with 3.8-rc2+ (Linus's latest tree)

2013-01-09 Thread Dave Kleikamp
On 01/09/2013 01:28 AM, Lijo Antony wrote: On 01/09/2013 09:31 AM, Dave Airlie wrote: On Wed, Jan 9, 2013 at 2:25 PM, Greg KH gre...@linuxfoundation.org wrote: On Wed, Jan 09, 2013 at 01:42:39PM +1000, Dave Airlie wrote: Hi all, I've hit this 3 times today on Linus's latest 3.8-rc2+ tree:

[PATCH V5 26/30] gfs2: Convert aio_read/write ops to read/write_iter

2013-01-09 Thread Dave Kleikamp
Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Steven Whitehouse swhit...@redhat.com Cc: cluster-de...@redhat.com --- fs/gfs2/file.c | 21 ++--- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index 991ab2d..63af1a6 100644

[PATCH V5 17/30] fs: use read_iter and write_iter rather than aio_read and aio_write

2013-01-09 Thread Dave Kleikamp
File systems implementing read_iter write_iter should not be required to keep aio_read and aio_write as well. The vfs should always call read/write_iter if they exist. This will make it easier to remove the aio_read/write operation in the future. Signed-off-by: Dave Kleikamp dave.kleik

[PATCH V5 14/30] bio: add bvec_length(), like iov_length()

2013-01-09 Thread Dave Kleikamp
From: Zach Brown z...@zabbo.net Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- include/linux/bio.h | 8 1 file changed, 8 insertions(+) diff --git a/include/linux/bio.h b/include/linux/bio.h index 820e7aa..f5f9829 100644 --- a/include/linux

[PATCH V5 07/30] iov_iter: add a shorten call

2013-01-09 Thread Dave Kleikamp
. Signed-off-by: Dave Kleikamp dave.kleik...@oracle.com Cc: Zach Brown z...@zabbo.net --- fs/iov-iter.c | 14 ++ include/linux/fs.h | 5 + 2 files changed, 19 insertions(+) diff --git a/fs/iov-iter.c b/fs/iov-iter.c index 22ef9ca..ac2d96e 100644 --- a/fs/iov-iter.c +++ b/fs/iov

[PATCH V5 00/30] loop: Issue O_DIRECT aio using bio_vec

2013-01-09 Thread Dave Kleikamp
for linux-next. Asias He (1): block_dev: add support for read_iter, write_iter Dave Kleikamp (17): iov_iter: iov_iter_copy_from_user() should use non-atomic copy fuse: convert fuse to use iov_iter_copy_[to|from]_user dio: Convert direct_IO to use iov_iter dio: add bio_vec support

[PATCH V5 09/30] dio: Convert direct_IO to use iov_iter

2013-01-09 Thread Dave Kleikamp
Change the direct_IO aop to take an iov_iter argument rather than an iovec. This will get passed down through most filesystems so that only the __blockdev_direct_IO helper need be aware of whether user or kernel memory is being passed to the function. Signed-off-by: Dave Kleikamp dave.kleik

<    1   2   3   4   5   6   7   8   9   10   >