"Aneesh Kumar K. V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> writes: > On Fri, 9 Apr 2010 21:22:28 +0400, Dmitry Monakhov <dmonakhov@xxxxxxxxxx> wrote: >> Zerrout trick allow us to optimize cases where it is more reasonable >> to explicitly zeroout extent and mark it as initialized instead of >> splitting to several small ones. >> But this optimization is not acceptable is extent is beyond i_size >> Because it is not possible to have initialized blocks after i_size. >> Fsck treat this as incorrect inode size. >> > > With commit c8d46e41bc744c8fa0092112af3942fcd46c8b18 if we set > EXT4_EOFBLOCKS_FL we should be able to have blocks beyond i_size. > May be the zero out path should set the flag instead of doing all these > changes. Zero-out is already complex with all the ENOSPC related > consideration. I guess we should try to keep it simple. For initialized extent beyond i_size? I've check fsck and seems that is truly possible. So this optimization allow us to avoid some bad EIO situations. But we have to rework ext_get_blocks( ,create == 1) to clear EXT4_EOFBLOCKS_FL if last block of latest_extent is requested. I'll handle this. > > -aneesh > -- > 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 -- 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