Skip to content

Commit 3320c60

Browse files
author
Al Viro
committed
dio: take updating ->result into do_direct_IO()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
1 parent 71d8e53 commit 3320c60

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

fs/direct-io.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,6 +1003,7 @@ static int do_direct_IO(struct dio *dio, struct dio_submit *sdio,
10031003
1 << blkbits);
10041004
sdio->block_in_file++;
10051005
block_in_page++;
1006+
dio->result += 1 << blkbits;
10061007
goto next_block;
10071008
}
10081009

@@ -1044,6 +1045,7 @@ static int do_direct_IO(struct dio *dio, struct dio_submit *sdio,
10441045
sdio->block_in_file += this_chunk_blocks;
10451046
block_in_page += this_chunk_blocks;
10461047
sdio->blocks_available -= this_chunk_blocks;
1048+
dio->result += this_chunk_blocks << blkbits;
10471049
next_block:
10481050
BUG_ON(sdio->block_in_file > sdio->final_block_in_request);
10491051
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,
12711273

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

1274-
dio->result += iter->iov[seg].iov_len -
1275-
((sdio.final_block_in_request - sdio.block_in_file) <<
1276-
blkbits);
1277-
12781276
if (retval) {
12791277
dio_cleanup(dio, &sdio);
12801278
break;

0 commit comments

Comments
 (0)