diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2014-03-05 06:27:34 +0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-05-07 01:32:44 +0400 |
commit | d8d3d94b80aa1a1c0ca75c58b8abdc7356f38418 (patch) | |
tree | 132f846b04371426b8795475597846aae75e7e07 /mm/filemap.c | |
parent | cb66a7a1f149ff705fa37cad6d1252b046e0ad4f (diff) | |
download | linux-d8d3d94b80aa1a1c0ca75c58b8abdc7356f38418.tar.xz |
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.c | 9 |
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 |