summaryrefslogtreecommitdiffstats
path: root/mm/filemap.c
diff options
context:
space:
mode:
authorAl Viro2014-03-05 03:27:34 +0100
committerAl Viro2014-05-06 23:32:44 +0200
commitd8d3d94b80aa1a1c0ca75c58b8abdc7356f38418 (patch)
tree132f846b04371426b8795475597846aae75e7e07 /mm/filemap.c
parentkill generic_segment_checks() (diff)
downloadkernel-qcow2-linux-d8d3d94b80aa1a1c0ca75c58b8abdc7356f38418.tar.gz
kernel-qcow2-linux-d8d3d94b80aa1a1c0ca75c58b8abdc7356f38418.tar.xz
kernel-qcow2-linux-d8d3d94b80aa1a1c0ca75c58b8abdc7356f38418.zip
pass iov_iter to ->direct_IO()
unmodified, for now Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'mm/filemap.c')
-rw-r--r--mm/filemap.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/mm/filemap.c b/mm/filemap.c
index 7c1417b0bd7b..139641274f1e 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1699,10 +1699,9 @@ generic_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
size = i_size_read(inode);
retval = filemap_write_and_wait_range(mapping, pos,
pos + iov_length(iov, nr_segs) - 1);
- if (!retval) {
- retval = mapping->a_ops->direct_IO(READ, iocb,
- iov, pos, nr_segs);
- }
+ if (!retval)
+ retval = mapping->a_ops->direct_IO(READ, iocb, &i, pos);
+
if (retval > 0) {
*ppos = pos + retval;
count -= retval;
@@ -2383,7 +2382,7 @@ generic_file_direct_write(struct kiocb *iocb, struct iov_iter *from,
}
}
- written = mapping->a_ops->direct_IO(WRITE, iocb, from->iov, pos, from->nr_segs);
+ written = mapping->a_ops->direct_IO(WRITE, iocb, from, pos);
/*
* Finally, try again to invalidate clean pages which might have been