2013/6/19, OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>: > Namjae Jeon <linkinjeon@xxxxxxxxx> writes: > >>>If above is correct, right implement to change get_block(). >> Now when we try to write in the fallocated region ( with keep size) in >> the fat_write_begin when it is called first time it checks that the >> mismatch is present between the mmu_private and mmu_actual , and hence >> zero out the region ; since buffer_new is not set for fallocated >> region by fat_get_block , we explicitly zero out the lseeked region >> using "fat_zero_falloc_area" and normal write occurs beyond that , and >> i_size is updated accordingly , and as such there is no need to move >> the code to fat_get_block . > > OK. So, like I said, you *changed* the behavior of get_block() via > fallocate() change, right? (I think, now, you noticed fat_get_block() > was changed.) Since you changed the behavior of get_block(), you had to > hack write_begin(). (IMO, that patch is dirty hack to fix write_begin() > path only) > > Likewise, you have to prove all callers of get_block() must work > collectedly with that change. > Hi OGAWA. > What happen on direct I/O, bmap ioctl, etc.? Well, anyway, please fix > the root cause of change of behavior. Good point! Yes, I didn't consider direct I/O and bmap yet. Sure, I will fix it. Thanks for review :) > > Thanks. > -- > OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> > -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html