Commit da0c5d26 authored by Harshad Shirwadkar's avatar Harshad Shirwadkar Committed by Theodore Ts'o
Browse files

ext4: issue fsdev cache flush before starting fast commit



If the journal dev is different from fsdev, issue a cache flush before
committing fast commit blocks to disk.

Suggested-by: default avatarJan Kara <jack@suse.cz>
Signed-off-by: default avatarHarshad Shirwadkar <harshadshirwadkar@gmail.com>
Reviewed-by: default avatarJan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20201106035911.1942128-20-harshadshirwadkar@gmail.com


Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
parent 556e0319
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1007,6 +1007,13 @@ static int ext4_fc_perform_commit(journal_t *journal)
	if (ret)
		return ret;

	/*
	 * If file system device is different from journal device, issue a cache
	 * flush before we start writing fast commit blocks.
	 */
	if (journal->j_fs_dev != journal->j_dev)
		blkdev_issue_flush(journal->j_fs_dev, GFP_NOFS);

	blk_start_plug(&plug);
	if (sbi->s_fc_bytes == 0) {
		/*