| 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: ext4: don't mark mmp buffer head dirty |
| |
| From: Li Dongyang <dongyangli@ddn.com> |
| |
| commit fe18d649891d813964d3aaeebad873f281627fbc upstream. |
| |
| 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 |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| fs/ext4/mmp.c | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| --- a/fs/ext4/mmp.c |
| +++ b/fs/ext4/mmp.c |
| @@ -49,7 +49,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); |