Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3320c60b authored by Al Viro's avatar Al Viro
Browse files

dio: take updating ->result into do_direct_IO()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 71d8e532
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -1003,6 +1003,7 @@ do_holes:
						1 << blkbits);
				sdio->block_in_file++;
				block_in_page++;
				dio->result += 1 << blkbits;
				goto next_block;
			}

@@ -1044,6 +1045,7 @@ do_holes:
			sdio->block_in_file += this_chunk_blocks;
			block_in_page += this_chunk_blocks;
			sdio->blocks_available -= this_chunk_blocks;
			dio->result += this_chunk_blocks << blkbits;
next_block:
			BUG_ON(sdio->block_in_file > sdio->final_block_in_request);
			if (sdio->block_in_file == sdio->final_block_in_request)
@@ -1271,10 +1273,6 @@ do_blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode,

		retval = do_direct_IO(dio, &sdio, &map_bh);

		dio->result += iter->iov[seg].iov_len -
			((sdio.final_block_in_request - sdio.block_in_file) <<
					blkbits);

		if (retval) {
			dio_cleanup(dio, &sdio);
			break;