--- /dev/null
+From fe18d649891d813964d3aaeebad873f281627fbc Mon Sep 17 00:00:00 2001
+From: Li Dongyang <dongyangli@ddn.com>
+Date: Sat, 15 Sep 2018 17:11:25 -0400
+Subject: [PATCH] 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
+---
+ fs/ext4/mmp.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+Index: linux-stage/fs/ext4/mmp.c
+===================================================================
+--- linux-stage.orig/fs/ext4/mmp.c
++++ linux-stage/fs/ext4/mmp.c
+@@ -12,7 +12,6 @@
+ */
+ static int write_mmp_block(struct buffer_head *bh)
+ {
+- mark_buffer_dirty(bh);
+ lock_buffer(bh);
+ bh->b_end_io = end_buffer_write_sync;
+ get_bh(bh);
--- /dev/null
+From fe18d649891d813964d3aaeebad873f281627fbc Mon Sep 17 00:00:00 2001
+From: Li Dongyang <dongyangli@ddn.com>
+Date: Sat, 15 Sep 2018 17:11:25 -0400
+Subject: [PATCH] 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
+---
+ fs/ext4/mmp.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+Index: linux-stage/fs/ext4/mmp.c
+===================================================================
+--- linux-stage.orig/fs/ext4/mmp.c
++++ linux-stage/fs/ext4/mmp.c
+@@ -18,7 +18,6 @@ static int write_mmp_block(struct super_
+ * on frozen filesystem.
+ */
+ sb_start_write(sb);
+- mark_buffer_dirty(bh);
+ lock_buffer(bh);
+ bh->b_end_io = end_buffer_write_sync;
+ get_bh(bh);
--- /dev/null
+From fe18d649891d813964d3aaeebad873f281627fbc Mon Sep 17 00:00:00 2001
+From: Li Dongyang <dongyangli@ddn.com>
+Date: Sat, 15 Sep 2018 17:11:25 -0400
+Subject: [PATCH] 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
+---
+ fs/ext4/mmp.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+Index: linux-3.10.0-693.21.1.el7/fs/ext4/mmp.c
+===================================================================
+--- linux-3.10.0-693.21.1.el7.orig/fs/ext4/mmp.c
++++ linux-3.10.0-693.21.1.el7/fs/ext4/mmp.c
+@@ -48,7 +48,6 @@ static int write_mmp_block(struct super_
+ */
+ 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);
--- /dev/null
+From fe18d649891d813964d3aaeebad873f281627fbc Mon Sep 17 00:00:00 2001
+From: Li Dongyang <dongyangli@ddn.com>
+Date: Sat, 15 Sep 2018 17:11:25 -0400
+Subject: [PATCH] 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
+---
+ fs/ext4/mmp.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+Index: linux-stage/fs/ext4/mmp.c
+===================================================================
+--- linux-stage.orig/fs/ext4/mmp.c
++++ linux-stage/fs/ext4/mmp.c
+@@ -12,7 +12,6 @@
+ */
+ static int write_mmp_block(struct buffer_head *bh)
+ {
+- mark_buffer_dirty(bh);
+ lock_buffer(bh);
+ bh->b_end_io = end_buffer_write_sync;
+ get_bh(bh);
rhel6.3/ext4-dont-check-in-ro.patch
rhel6.3/ext4-dont-check-before-replay.patch
rhel7/ext4-export-orphan-add.patch
+rhel6.3/ext4-mmp-dont-mark-bh-dirty.patch
rhel6.3/ext4-dont-check-before-replay.patch
rhel6.5/ext4-brackets-in-ext4-remove-blocks.patch
rhel7/ext4-export-orphan-add.patch
+rhel6.3/ext4-mmp-dont-mark-bh-dirty.patch
rhel6.5/ext4-fix-journal-quota.patch
rhel6.5/ext4-brackets-in-ext4-remove-blocks.patch
rhel7/ext4-export-orphan-add.patch
+rhel6.6/ext4-mmp-dont-mark-bh-dirty.patch
rhel6.5/ext4-fix-journal-quota.patch
rhel6.5/ext4-brackets-in-ext4-remove-blocks.patch
rhel7/ext4-export-orphan-add.patch
+rhel6.6/ext4-mmp-dont-mark-bh-dirty.patch
rhel6.5/ext4-fix-journal-quota.patch
rhel6.5/ext4-brackets-in-ext4-remove-blocks.patch
rhel7/ext4-export-orphan-add.patch
+rhel6.6/ext4-mmp-dont-mark-bh-dirty.patch
rhel6.6/ext4_s_max_ext_tree_depth.patch
rhel6.5/ext4-fix-journal-quota.patch
rhel7/ext4-export-orphan-add.patch
+rhel6.6/ext4-mmp-dont-mark-bh-dirty.patch
rhel6.3/ext4-dont-check-in-ro.patch
rhel6.3/ext4-dont-check-before-replay.patch
rhel7/ext4-export-orphan-add.patch
+rhel6.3/ext4-mmp-dont-mark-bh-dirty.patch
rhel6.3/ext4-notalloc_under_idatasem.patch
rhel6.5/ext4-fix-journal-quota.patch
rhel7/ext4-export-orphan-add.patch
+rhel6.3/ext4-mmp-dont-mark-bh-dirty.patch
sles11sp2/revert-ext4-avoid-uninitialized-memory-references-in-ext3_htree_next_block.patch
sles11sp2/ext4-journal-callback.patch
sles11sp2/ext4-make-quota-as-first-class-supported-feature.patch
-
sles11sp2/ext4-handle-cleanup-after-quota-failure.patch
sles11sp2/ext4-map_inode_page-3.0.patch
sles11sp2/export-ext4-3.0.patch
sles11sp1/ext4-notalloc_under_idatasem.patch
rhel6.5/ext4-fix-journal-quota.patch
rhel7/ext4-export-orphan-add.patch
+sles11sp2/ext4-mmp-dont-mark-bh-dirty.patch
sles11sp2/revert-ext4-avoid-uninitialized-memory-references-in-ext3_htree_next_block.patch
sles11sp2/ext4-journal-callback.patch
sles11sp2/ext4-make-quota-as-first-class-supported-feature.patch
-
sles11sp2/ext4-handle-cleanup-after-quota-failure.patch
sles11sp2/ext4-map_inode_page-3.0.patch
sles11sp2/export-ext4-3.0.patch
sles11sp3/ext4-dont-check-before-replay.patch
rhel6.3/ext4-dont-check-in-ro.patch
rhel7/ext4-export-orphan-add.patch
+sles11sp2/ext4-mmp-dont-mark-bh-dirty.patch
sles11sp2/revert-ext4-avoid-uninitialized-memory-references-in-ext3_htree_next_block.patch
sles11sp2/ext4-journal-callback.patch
sles11sp2/ext4-make-quota-as-first-class-supported-feature.patch
-
sles11sp2/ext4-handle-cleanup-after-quota-failure.patch
sles11sp2/ext4-map_inode_page-3.0.patch
sles11sp2/export-ext4-3.0.patch
sles11sp3/ext4-dont-check-before-replay.patch
rhel6.3/ext4-dont-check-in-ro.patch
rhel7/ext4-export-orphan-add.patch
+sles11sp2/ext4-mmp-dont-mark-bh-dirty.patch
rhel7.2/ext4-preread-gd.patch
rhel7/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
rhel7.2/ext4-preread-gd.patch
rhel7/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
rhel7.2/ext4-preread-gd.patch
rhel7/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
rhel7.2/ext4-preread-gd.patch
rhel7/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
rhel7/ext4-cleanup-goto-next-group.patch
rhel7/ext4-reduce-lock-contention-in-__ext4_new_inode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
rhel7/ext4-mmp-brelse.patch
rhel7/ext4-jcb-optimization.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
rhel7/ext4-jcb-optimization.patch
sles12sp1/ext4-attach-jinode-in-writepages.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
ubuntu18/ext4-dont-check-before-replay.patch
rhel7/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
sles12sp2/ext4-fix-xattr-shifting-when-expanding-inodes.patch
rhel7/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
sles12sp2/ext4-fix-xattr-shifting-when-expanding-inodes.patch
rhel7/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
sles12sp2/ext4-attach-jinode-in-writepages.patch
rhel7/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
sles12sp2/ext4-attach-jinode-in-writepages.patch
rhel7/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
sles12sp2/ext4-attach-jinode-in-writepages.patch
rhel7/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch
sles12sp2/ext4-attach-jinode-in-writepages.patch
rhel7/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch
rhel7/ext4-export-orphan-add.patch
+rhel7/ext4-mmp-dont-mark-bh-dirty.patch