]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
md/raid5: fix IO hang with degraded array with llbitmap
authorYu Kuai <yukuai@fnnas.com>
Fri, 23 Jan 2026 18:26:22 +0000 (02:26 +0800)
committerYu Kuai <yukuai@fnnas.com>
Mon, 26 Jan 2026 05:18:59 +0000 (13:18 +0800)
commitcd1635d844d26471c56c0a432abdee12fc9ad735
tree238b4f0feac429096cec6a53682796300d1e3731
parent5d1dd57929be2158fb5a8bc74817cc08b10b0118
md/raid5: fix IO hang with degraded array with llbitmap

When llbitmap bit state is still unwritten, any new write should force
rcw, as bitmap_ops->blocks_synced() is checked in handle_stripe_dirtying().
However, later the same check is missing in need_this_block(), causing
stripe to deadloop during handling because handle_stripe() will decide
to go to handle_stripe_fill(), meanwhile need_this_block() always return
0 and nothing is handled.

Link: https://lore.kernel.org/linux-raid/20260123182623.3718551-2-yukuai@fnnas.com
Fixes: 5ab829f1971d ("md/md-llbitmap: introduce new lockless bitmap")
Signed-off-by: Yu Kuai <yukuai@fnnas.com>
Reviewed-by: Li Nan <linan122@huawei.com>
drivers/md/raid5.c