Hi: This patch set is the third version which want to fix a data corruption, have been testd by xfstests. - The first patch fix the data corruption problem we captured. The root case is that we forgot to clear dirty flag when revorking a buffer belongs to older transaction. - The second and third patches are cleanup patches which remove clean_bdev_aliases() related calls and move the logic to jbd2_journal_forget() when forgetting metadata (suggested by Jan Kara). - The last patch change the return value of ext4_ext_convert_to_initialized(). Please review. Thanks, Yi. ---------- Changes since v2: - Change the commit log and comments in the first patch. - Add the three cleanup patches to remove all clean_bdev_aliases() calls and change the return value of ext4_ext_convert_to_initialized(). zhangyi (F) (4): jbd2: make sure dirty flag is cleared while revorking a buffer which belongs to older transaction jbd2: discard dirty data when forgetting an un-journalled buffer ext4: cleanup clean_bdev_aliases() calls ext4: convert ext4_split_extent() to return requested length fs/ext4/extents.c | 26 +++++++--------------- fs/ext4/inode.c | 7 ------ fs/ext4/page-io.c | 4 +--- fs/jbd2/transaction.c | 60 +++++++++++++++++++++++++++++++++++++++++++-------- 4 files changed, 60 insertions(+), 37 deletions(-) -- 2.7.4