VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   33 Branches   57 Tags
author: Damien Le Moal <damien.lemoal@wdc.com> 2019-08-01 19:21:51 +0900 committer: Jens Axboe <axboe@kernel.dk> 2019-08-01 13:51:18 -0600 commit: 0eb6ddfb865c7d7ec05cb330050671363515e67f parent: 3d0b63c5dfa8a912ac2d5026a24826b99b20ecc9
Commit Summary:
block: Fix __blkdev_direct_IO() for bio fragments
Diffstat:
1 file changed, 2 insertions, 1 deletion
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 22591bad9353..a6f7c892cb4a 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -439,6 +439,7 @@ __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter, int nr_pages)
 					ret = -EAGAIN;
 				goto error;
 			}
+			ret = dio->size;
 
 			if (polled)
 				WRITE_ONCE(iocb->ki_cookie, qc);
@@ -465,7 +466,7 @@ __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter, int nr_pages)
 				ret = -EAGAIN;
 			goto error;
 		}
-		ret += bio->bi_iter.bi_size;
+		ret = dio->size;
 
 		bio = bio_alloc(gfp, nr_pages);
 		if (!bio) {