bfq_setup_cooperator() can mark bic as stably merged even though it decides to not merge its bfqqs (when bfq_setup_merge() returns NULL). Make sure to mark bic as stably merged only if we are really going to merge bfqqs.
CC: stable@vger.kernel.org Tested-by: "yukuai (C)" yukuai3@huawei.com Fixes: 430a67f9d616 ("block, bfq: merge bursts of newly-created queues") Signed-off-by: Jan Kara jack@suse.cz --- block/bfq-iosched.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 2e0dd68a3cbe..6d122c28086e 100644 --- a/block/bfq-iosched.c +++ b/block/bfq-iosched.c @@ -2895,9 +2895,12 @@ bfq_setup_cooperator(struct bfq_data *bfqd, struct bfq_queue *bfqq, struct bfq_queue *new_bfqq = bfq_setup_merge(bfqq, stable_merge_bfqq);
- bic->stably_merged = true; - if (new_bfqq && new_bfqq->bic) - new_bfqq->bic->stably_merged = true; + if (new_bfqq) { + bic->stably_merged = true; + if (new_bfqq->bic) + new_bfqq->bic->stably_merged = + true; + } return new_bfqq; } else return NULL;
On Fri, 1 Apr 2022 12:27:42 +0200, Jan Kara wrote:
bfq_setup_cooperator() can mark bic as stably merged even though it decides to not merge its bfqqs (when bfq_setup_merge() returns NULL). Make sure to mark bic as stably merged only if we are really going to merge bfqqs.
Applied, thanks!
[1/9] bfq: Avoid false marking of bic as stably merged commit: 70456e5210f40ffdb8f6d905acfdcec5bd5fad9e [2/9] bfq: Avoid merging queues with different parents commit: c1cee4ab36acef271be9101590756ed0c0c374d9 [3/9] bfq: Split shared queues on move between cgroups commit: 3bc5e683c67d94bd839a1da2e796c15847b51b69 [4/9] bfq: Update cgroup information before merging bio commit: ea591cd4eb270393810e7be01feb8fde6a34fbbe [5/9] bfq: Drop pointless unlock-lock pair commit: fc84e1f941b91221092da5b3102ec82da24c5673 [6/9] bfq: Remove pointless bfq_init_rq() calls commit: 5f550ede5edf846ecc0067be1ba80514e6fe7f8e [7/9] bfq: Track whether bfq_group is still online commit: 09f871868080c33992cd6a9b72a5ca49582578fa [8/9] bfq: Get rid of __bio_blkcg() usage commit: 4e54a2493e582361adc3bfbf06c7d50d19d18837 [9/9] bfq: Make sure bfqg for which we are queueing requests is online commit: 075a53b78b815301f8d3dd1ee2cd99554e34f0dd
Best regards,
linux-stable-mirror@lists.linaro.org