aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLi Dongyang <dongyangli@ddn.com>2018-09-15 17:11:25 -0400
committerTheodore Ts'o <tytso@mit.edu>2018-09-15 17:11:25 -0400
commitfe18d649891d813964d3aaeebad873f281627fbc (patch)
tree9ff37bdb4d0eaff78f8ddd0ad4e9e68d48f21e36
parent338affb548c243d2af25b1ca628e67819350de6b (diff)
downloadpowerpc-fe18d649891d813964d3aaeebad873f281627fbc.tar.gz
ext4: don't mark mmp buffer head dirty
Marking mmp bh dirty before writing it will make writeback pick up mmp block later and submit a write, we don't want the duplicate write as kmmpd thread should have full control of reading and writing the mmp block. Another reason is we will also have random I/O error on the writeback request when blk integrity is enabled, because kmmpd could modify the content of the mmp block(e.g. setting new seq and time) while the mmp block is under I/O requested by writeback. Signed-off-by: Li Dongyang <dongyangli@ddn.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Andreas Dilger <adilger@dilger.ca> Cc: stable@vger.kernel.org
-rw-r--r--fs/ext4/mmp.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/ext4/mmp.c b/fs/ext4/mmp.c
index 39b07c2d338401..2305b4374fd3e0 100644
--- a/fs/ext4/mmp.c
+++ b/fs/ext4/mmp.c
@@ -49,7 +49,6 @@ static int write_mmp_block(struct super_block *sb, struct buffer_head *bh)
*/
sb_start_write(sb);
ext4_mmp_csum_set(sb, mmp);
- mark_buffer_dirty(bh);
lock_buffer(bh);
bh->b_end_io = end_buffer_write_sync;
get_bh(bh);