|
@@ -475,7 +475,7 @@ static struct throtl_grp *throtl_lookup_create_tg(struct throtl_data *td,
|
|
|
/* if %NULL and @q is alive, fall back to root_tg */
|
|
|
if (!IS_ERR(blkg))
|
|
|
tg = blkg_to_tg(blkg);
|
|
|
- else if (!blk_queue_dying(q))
|
|
|
+ else
|
|
|
tg = td_root_tg(td);
|
|
|
}
|
|
|
|
|
@@ -1438,10 +1438,11 @@ bool blk_throtl_bio(struct request_queue *q, struct bio *bio)
|
|
|
* IO group
|
|
|
*/
|
|
|
spin_lock_irq(q->queue_lock);
|
|
|
- tg = throtl_lookup_create_tg(td, blkcg);
|
|
|
- if (unlikely(!tg))
|
|
|
+
|
|
|
+ if (unlikely(blk_queue_bypass(q)))
|
|
|
goto out_unlock;
|
|
|
|
|
|
+ tg = throtl_lookup_create_tg(td, blkcg);
|
|
|
sq = &tg->service_queue;
|
|
|
|
|
|
while (true) {
|