Commit 1c302f8b authored by Junxiao Bi's avatar Junxiao Bi Committed by Zheng Qixing
Browse files

md: bypass block throttle for superblock update

mainline inclusion
from mainline-v6.8-rc1
commit d6e035aad6c09991da1c667fb83419329a3baed8
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBLD3D

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d6e035aad6c09991da1c667fb83419329a3baed8



------------------

commit 5e2cf333 ("md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d")
introduced a hung bug and will be reverted in next patch, since the issue
that commit is fixing is due to md superblock write is throttled by wbt,
to fix it, we can have superblock write bypass block layer throttle.

Fixes: 5e2cf333 ("md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d")
Cc: stable@vger.kernel.org # v5.19+
Suggested-by: default avatarYu Kuai <yukuai3@huawei.com>
Signed-off-by: default avatarJunxiao Bi <junxiao.bi@oracle.com>
Reviewed-by: default avatarLogan Gunthorpe <logang@deltatee.com>
Reviewed-by: default avatarYu Kuai <yukuai3@huawei.com>
Signed-off-by: default avatarSong Liu <song@kernel.org>
Link: https://lore.kernel.org/r/20231108182216.73611-1-junxiao.bi@oracle.com


Conflicts:
	drivers/md/md.c
[Context conflicts.]
Signed-off-by: default avatarZheng Qixing <zhengqixing@huawei.com>
parent df354167
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -871,7 +871,8 @@ void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
	    test_bit(FailFast, &rdev->flags) &&
	    !test_bit(LastDev, &rdev->flags))
		ff = MD_FAILFAST;
	bio->bi_opf = REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH | REQ_FUA | ff;
	bio->bi_opf = REQ_OP_WRITE | REQ_SYNC | REQ_IDLE | REQ_META
		      | REQ_PREFLUSH | REQ_FUA | ff;

	atomic_inc(&mddev->pending_writes);
	submit_bio(bio);