Eryu Guan <guaneryu@xxxxxxxxx> writes: > Save one level of indention by returning error early. > > Introduce some local variables to make the code easier to read a bit, > and do preparation for next patch. > > Signed-off-by: Eryu Guan <guaneryu@xxxxxxxxx> Hi, Eryu, I don't think you have a full appreciation of the amount of optimization that goes into this code. I don't see anything wrong with what you've done, but I also don't want to introduce all these local variables and change a branch in order to find out several months down the line that we introduced some TPC-C regression of .5%. Look, I think this is all you need for the full fix: diff --git a/fs/direct-io.c b/fs/direct-io.c index 4720377..f66754e 100644 --- a/fs/direct-io.c +++ b/fs/direct-io.c @@ -639,8 +639,7 @@ static int get_more_blocks(struct dio *dio, struct dio_submit *sdio, */ create = dio->rw & WRITE; if (dio->flags & DIO_SKIP_HOLES) { - if (sdio->block_in_file < (i_size_read(dio->inode) >> - sdio->blkbits)) + if (fs_startblk < fs_count) create = 0; } Can you just test that? Thanks, Jeff -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html