ext4: force buffer up-to-date while marking it dirty
authorHarshad Shirwadkar <harshadshirwadkar@gmail.com>
Tue, 24 Dec 2019 19:09:40 +0000 (11:09 -0800)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 5 Mar 2020 20:35:39 +0000 (15:35 -0500)
Writeback errors can leave buffer in not up-to-date state when there
are errors during background writes. Force buffer up-to-date while
marking it dirty.

Signed-off-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Link: https://lore.kernel.org/r/20191224190940.157952-1-harshadshirwadkar@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ext4_jbd2.c

index 1f53d64..ee3755c 100644 (file)
@@ -332,6 +332,7 @@ int __ext4_handle_dirty_metadata(const char *where, unsigned int line,
                                         err);
                }
        } else {
+               set_buffer_uptodate(bh);
                if (inode)
                        mark_buffer_dirty_inode(bh, inode);
                else