]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: enforce buffer head state assertion in ext4_da_map_blocks
authorEric Whitney <enwlinux@gmail.com>
Thu, 19 Aug 2021 14:49:27 +0000 (10:49 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 9 Sep 2021 14:52:05 +0000 (10:52 -0400)
commit2120fa2a4359b7d8c89333499cec1198918c3388
tree25ba4c1cc971df706a881e52b3361da419c7ca38
parentac9792c2cf5205cd74fac9a09dc1ee543a1eb8c8
ext4: enforce buffer head state assertion in ext4_da_map_blocks

Remove the code that re-initializes a buffer head with an invalid block
number and BH_New and BH_Delay bits when a matching delayed and
unwritten block has been found in the extent status cache. Replace it
with assertions that verify the buffer head already has this state
correctly set.  The current code masked an inline data truncation bug
that left stale entries in the extent status cache.  With this change,
generic/130 can be used to reproduce and detect that bug.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Link: https://lore.kernel.org/r/20210819144927.25163-3-enwlinux@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/inode.c