diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 141c602d5e85..27ef736085b1 100644 --- a/block/bfq-iosched.c +++ b/block/bfq-iosched.c @@ -3035,9 +3035,6 @@ bfq_setup_cooperator(struct bfq_data *bfqd, struct bfq_queue *bfqq, static void bfq_bfqq_save_state(struct bfq_queue *bfqq) { struct bfq_io_cq *bic = bfqq->bic; - unsigned int a_idx = bfqq->actuator_idx; - struct bfq_iocq_bfqq_data *bfqq_data = &bic->bfqq_data[a_idx]; - /* * If !bfqq->bic, the queue is already shared or its requests * have already been redirected to a shared queue; both idle window @@ -3046,6 +3043,9 @@ static void bfq_bfqq_save_state(struct bfq_queue *bfqq) if (!bic) return; + unsigned int a_idx = bfqq->actuator_idx; + struct bfq_iocq_bfqq_data *bfqq_data = &bic->bfqq_data[a_idx]; + bfqq_data->saved_last_serv_time_ns = bfqq->last_serv_time_ns; bfqq_data->saved_inject_limit = bfqq->inject_limit; bfqq_data->saved_decrease_time_jif = bfqq->decrease_time_jif;