|
@@ -969,7 +969,8 @@ static int do_direct_IO(struct dio *dio, struct dio_submit *sdio,
|
|
|
this_chunk_bytes = this_chunk_blocks << blkbits;
|
|
this_chunk_bytes = this_chunk_blocks << blkbits;
|
|
|
BUG_ON(this_chunk_bytes == 0);
|
|
BUG_ON(this_chunk_bytes == 0);
|
|
|
|
|
|
|
|
- sdio->boundary = buffer_boundary(map_bh);
|
|
|
|
|
|
|
+ if (this_chunk_blocks == sdio->blocks_available)
|
|
|
|
|
+ sdio->boundary = buffer_boundary(map_bh);
|
|
|
ret = submit_page_section(dio, sdio, page,
|
|
ret = submit_page_section(dio, sdio, page,
|
|
|
offset_in_page,
|
|
offset_in_page,
|
|
|
this_chunk_bytes,
|
|
this_chunk_bytes,
|