On Wed, Feb 10, 2016 at 11:16:45PM +0800, Eryu Guan wrote: > I notice ext4/307 fails occasionally on ppc64 host, reporting md5 > checksum mismatch after moving data from original file to donor file. > > The reason is that move_extent_per_page() calls __block_write_begin() > and block_commit_write() to write saved data from original inode blocks > to donor inode blocks, but __block_write_begin() not only maps buffer > heads but also reads block content from disk if the size is not block > size aligned. At this time the physical block number in mapped buffer > head is pointing to the donor file not the original file, and that > results in reading wrong data to page, which get written to disk in > following block_commit_write call. Thanks, applied. - 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