summaryrefslogtreecommitdiffstats
path: root/fs/ext4/page-io.c
diff options
context:
space:
mode:
authoryangerkun <yangerkun@huawei.com>2021-09-03 14:27:48 +0800
committerTheodore Ts'o <tytso@mit.edu>2021-11-04 10:33:24 -0400
commit1811bc401aa58c7bdb0df3205aa6613b49d32127 (patch)
tree57a8b2d29d4637e2572909c9dc98bbb5cf63392d /fs/ext4/page-io.c
parent4268496e48dc681cfa53b92357314b5d7221e625 (diff)
downloadlinux-1811bc401aa58c7bdb0df3205aa6613b49d32127.tar.gz
linux-1811bc401aa58c7bdb0df3205aa6613b49d32127.tar.bz2
linux-1811bc401aa58c7bdb0df3205aa6613b49d32127.zip
ext4: refresh the ext4_ext_path struct after dropping i_data_sem.
After we drop i_data sem, we need to reload the ext4_ext_path structure since the extent tree can change once i_data_sem is released. This addresses the BUG: [52117.465187] ------------[ cut here ]------------ [52117.465686] kernel BUG at fs/ext4/extents.c:1756! ... [52117.478306] Call Trace: [52117.478565] ext4_ext_shift_extents+0x3ee/0x710 [52117.479020] ext4_fallocate+0x139c/0x1b40 [52117.479405] ? __do_sys_newfstat+0x6b/0x80 [52117.479805] vfs_fallocate+0x151/0x4b0 [52117.480177] ksys_fallocate+0x4a/0xa0 [52117.480533] __x64_sys_fallocate+0x22/0x30 [52117.480930] do_syscall_64+0x35/0x80 [52117.481277] entry_SYSCALL_64_after_hwframe+0x44/0xae [52117.481769] RIP: 0033:0x7fa062f855ca Cc: stable@kernel.org Link: https://lore.kernel.org/r/20210903062748.4118886-4-yangerkun@huawei.com Signed-off-by: yangerkun <yangerkun@huawei.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/page-io.c')
0 files changed, 0 insertions, 0 deletions