diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/filemap.c | 4 | ||||
-rw-r--r-- | mm/page_io.c | 4 |
2 files changed, 3 insertions, 5 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 876f4e6f3ed6..9920db455f05 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -1707,7 +1707,7 @@ generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) | |||
1707 | pos + count - 1); | 1707 | pos + count - 1); |
1708 | if (!retval) { | 1708 | if (!retval) { |
1709 | struct iov_iter data = *iter; | 1709 | struct iov_iter data = *iter; |
1710 | retval = mapping->a_ops->direct_IO(READ, iocb, &data, pos); | 1710 | retval = mapping->a_ops->direct_IO(iocb, &data, pos); |
1711 | } | 1711 | } |
1712 | 1712 | ||
1713 | if (retval > 0) { | 1713 | if (retval > 0) { |
@@ -2395,7 +2395,7 @@ generic_file_direct_write(struct kiocb *iocb, struct iov_iter *from, loff_t pos) | |||
2395 | } | 2395 | } |
2396 | 2396 | ||
2397 | data = *from; | 2397 | data = *from; |
2398 | written = mapping->a_ops->direct_IO(WRITE, iocb, &data, pos); | 2398 | written = mapping->a_ops->direct_IO(iocb, &data, pos); |
2399 | 2399 | ||
2400 | /* | 2400 | /* |
2401 | * Finally, try again to invalidate clean pages which might have been | 2401 | * Finally, try again to invalidate clean pages which might have been |
diff --git a/mm/page_io.c b/mm/page_io.c index a96c8562d835..6424869e275e 100644 --- a/mm/page_io.c +++ b/mm/page_io.c | |||
@@ -277,9 +277,7 @@ int __swap_writepage(struct page *page, struct writeback_control *wbc, | |||
277 | 277 | ||
278 | set_page_writeback(page); | 278 | set_page_writeback(page); |
279 | unlock_page(page); | 279 | unlock_page(page); |
280 | ret = mapping->a_ops->direct_IO(ITER_BVEC | WRITE, | 280 | ret = mapping->a_ops->direct_IO(&kiocb, &from, kiocb.ki_pos); |
281 | &kiocb, &from, | ||
282 | kiocb.ki_pos); | ||
283 | if (ret == PAGE_SIZE) { | 281 | if (ret == PAGE_SIZE) { |
284 | count_vm_event(PSWPOUT); | 282 | count_vm_event(PSWPOUT); |
285 | ret = 0; | 283 | ret = 0; |