lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.17 627/772] bfq: Avoid false marking of bic as stably merged
    Date
    From: Jan Kara <jack@suse.cz>

    commit 70456e5210f40ffdb8f6d905acfdcec5bd5fad9e upstream.

    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>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20220401102752.8599-1-jack@suse.cz
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    block/bfq-iosched.c | 9 ++++++---
    1 file changed, 6 insertions(+), 3 deletions(-)

    --- a/block/bfq-iosched.c
    +++ b/block/bfq-iosched.c
    @@ -2899,9 +2899,12 @@ bfq_setup_cooperator(struct bfq_data *bf
    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;

    \
     
     \ /
      Last update: 2022-06-07 23:37    [W:4.210 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site