Subject: + fat-fallback-to-buffered-write-in-case-of-fallocatded-region-on-direct-io.patch added to -mm tree To: namjae.jeon@xxxxxxxxxxx,a.sahrawat@xxxxxxxxxxx,hirofumi@xxxxxxxxxxxxxxxxxx From: akpm@xxxxxxxxxxxxxxxxxxxx Date: Mon, 18 Nov 2013 15:22:43 -0800 The patch titled Subject: fat: fallback to buffered write in case of fallocatded region on direct IO has been added to the -mm tree. Its filename is fat-fallback-to-buffered-write-in-case-of-fallocatded-region-on-direct-io.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/fat-fallback-to-buffered-write-in-case-of-fallocatded-region-on-direct-io.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/fat-fallback-to-buffered-write-in-case-of-fallocatded-region-on-direct-io.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Subject: fat: fallback to buffered write in case of fallocatded region on direct IO For normal cases of direct IO write, trying to seek to location greater than file size, makes it fall back to buffered write to fill that region. Similarly, in case for write in Fallocated region, make it fall to buffered write. Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> Signed-off-by: Amit Sahrawat <a.sahrawat@xxxxxxxxxxx> Cc: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/fat/inode.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff -puN fs/fat/inode.c~fat-fallback-to-buffered-write-in-case-of-fallocatded-region-on-direct-io fs/fat/inode.c --- a/fs/fat/inode.c~fat-fallback-to-buffered-write-in-case-of-fallocatded-region-on-direct-io +++ a/fs/fat/inode.c @@ -218,6 +218,14 @@ static ssize_t fat_direct_IO(int rw, str loff_t size = offset + iov_length(iov, nr_segs); if (MSDOS_I(inode)->mmu_private < size) return 0; + + /* + * In case of writing in fallocated region, return 0 and + * fallback to buffered write. + */ + if (MSDOS_I(inode)->i_disksize > + round_up(i_size_read(inode), inode->i_sb->s_blocksize)) + return 0; } /* _ Patches currently in -mm which might be from namjae.jeon@xxxxxxxxxxx are fat-add-i_disksize-to-represent-uninitialized-size.patch fat-add-fat_fallocate-operation.patch fat-zero-out-seek-range-on-_fat_get_block.patch fat-fallback-to-buffered-write-in-case-of-fallocatded-region-on-direct-io.patch fat-permit-to-return-phy-block-number-by-fibmap-in-fallocated-region.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html