]> www.infradead.org Git - users/hch/misc.git/commit
md/raid1,raid10: don't ignore IO flags
authorYu Kuai <yukuai3@huawei.com>
Thu, 27 Feb 2025 12:16:57 +0000 (20:16 +0800)
committerYu Kuai <yukuai@kernel.org>
Tue, 4 Mar 2025 16:32:22 +0000 (00:32 +0800)
commite879a0d9cb086c8e52ce6c04e5bfa63825a6213c
tree1478b060a0adb3d370a54df1137e235e247bfb50
parent1320fe874175fac395fa693195db68b2001c4d8f
md/raid1,raid10: don't ignore IO flags

If blk-wbt is enabled by default, it's found that raid write performance
is quite bad because all IO are throttled by wbt of underlying disks,
due to flag REQ_IDLE is ignored. And turns out this behaviour exist since
blk-wbt is introduced.

Other than REQ_IDLE, other flags should not be ignored as well, for
example REQ_META can be set for filesystems, clearing it can cause priority
reverse problems; And REQ_NOWAIT should not be cleared as well, because
io will wait instead of failing directly in underlying disks.

Fix those problems by keep IO flags from master bio.

Fises: f51d46d0e7cb ("md: add support for REQ_NOWAIT")
Fixes: e34cbd307477 ("blk-wbt: add general throttling mechanism")
Fixes: 5404bc7a87b9 ("[PATCH] Allow file systems to differentiate between data and meta reads")
Link: https://lore.kernel.org/linux-raid/20250227121657.832356-1-yukuai1@huaweicloud.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
drivers/md/raid1.c
drivers/md/raid10.c