aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-04-07 11:51:59 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2016-05-01 19:58:39 -0400
commit716b9bc0cb50b1c2c15ef6a255c88508350e3462 (patch)
tree41aa0ee56e5f9ee4e94bbd905c5e178bffcca93c
parentc8b8e32d700fe943a935e435ae251364d016c497 (diff)
direct-io: remove the offset argument to dio_complete
It has to be identical to ki_pos of the iocb, so use that instead. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--fs/direct-io.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/direct-io.c b/fs/direct-io.c
index 8949d3e35756..c61314b84b01 100644
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@ -224,9 +224,9 @@ static inline struct page *dio_get_page(struct dio *dio,
224 * filesystems can use it to hold additional state between get_block calls and 224 * filesystems can use it to hold additional state between get_block calls and
225 * dio_complete. 225 * dio_complete.
226 */ 226 */
227static ssize_t dio_complete(struct dio *dio, loff_t offset, ssize_t ret, 227static ssize_t dio_complete(struct dio *dio, ssize_t ret, bool is_async)
228 bool is_async)
229{ 228{
229 loff_t offset = dio->iocb->ki_pos;
230 ssize_t transferred = 0; 230 ssize_t transferred = 0;
231 231
232 /* 232 /*
@@ -285,7 +285,7 @@ static void dio_aio_complete_work(struct work_struct *work)
285{ 285{
286 struct dio *dio = container_of(work, struct dio, complete_work); 286 struct dio *dio = container_of(work, struct dio, complete_work);
287 287
288 dio_complete(dio, dio->iocb->ki_pos, 0, true); 288 dio_complete(dio, 0, true);
289} 289}
290 290
291static int dio_bio_complete(struct dio *dio, struct bio *bio); 291static int dio_bio_complete(struct dio *dio, struct bio *bio);
@@ -314,7 +314,7 @@ static void dio_bio_end_aio(struct bio *bio)
314 queue_work(dio->inode->i_sb->s_dio_done_wq, 314 queue_work(dio->inode->i_sb->s_dio_done_wq,
315 &dio->complete_work); 315 &dio->complete_work);
316 } else { 316 } else {
317 dio_complete(dio, dio->iocb->ki_pos, 0, true); 317 dio_complete(dio, 0, true);
318 } 318 }
319 } 319 }
320} 320}
@@ -1319,7 +1319,7 @@ do_blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
1319 dio_await_completion(dio); 1319 dio_await_completion(dio);
1320 1320
1321 if (drop_refcount(dio) == 0) { 1321 if (drop_refcount(dio) == 0) {
1322 retval = dio_complete(dio, offset, retval, false); 1322 retval = dio_complete(dio, retval, false);
1323 } else 1323 } else
1324 BUG_ON(retval != -EIOCBQUEUED); 1324 BUG_ON(retval != -EIOCBQUEUED);
1325 1325