Skip to content

Commit 54e1060

Browse files
YuKuai-huaweigregkh
authored andcommitted
md/raid10: fix missing discard IO accounting
[ Upstream commit d05af90 ] md_account_bio() is not called from raid10_handle_discard(), now that we handle bitmap inside md_account_bio(), also fix missing bitmap_startwrite for discard. Test whole disk discard for 20G raid10: Before: Device d/s dMB/s drqm/s %drqm d_await dareq-sz md0 48.00 16.00 0.00 0.00 5.42 341.33 After: Device d/s dMB/s drqm/s %drqm d_await dareq-sz md0 68.00 20462.00 0.00 0.00 2.65 308133.65 Link: https://lore.kernel.org/linux-raid/20250325015746.3195035-1-yukuai1@huaweicloud.com Fixes: 528bc2c ("md/raid10: enable io accounting") Signed-off-by: Yu Kuai <yukuai3@huawei.com> Acked-by: Coly Li <colyli@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 7cc670e commit 54e1060

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

drivers/md/raid10.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1687,6 +1687,7 @@ static int raid10_handle_discard(struct mddev *mddev, struct bio *bio)
16871687
* The discard bio returns only first r10bio finishes
16881688
*/
16891689
if (first_copy) {
1690+
md_account_bio(mddev, &bio);
16901691
r10_bio->master_bio = bio;
16911692
set_bit(R10BIO_Discard, &r10_bio->state);
16921693
first_copy = false;

0 commit comments

Comments
 (0)