On Tue, Jun 04, 2013 at 03:00:29AM +0800, 宋柏翰 wrote: > Also after I traced into filemap_write_and_wait_range, I found it > eventually calls ext4_writepage to do the most part of work, which in > its comment says "We don't do any block allocation in this function." > > So, can anyone kindly shed any light on my question, or point out my mistakes? There are three possible address_space_operations structures that can be used for ext4 files. They are ext4_aops, ext4_journalled_aops, and ext4_da_aops. It is the last one which is used for delayed allocation files, and in that case filemap_write_and_wait_range will use ext4_da_writepages(). These days, if there is an writepages function, the writepage function is not used at all. It used to be used for direct reclaim, but that's been replaced by I/O-less reclaim. - Ted -- 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