On Tue, Dec 20 2016, Paolo Valente wrote:
> > + else
> > + rq = __blk_mq_alloc_request(data, op);
> > +
> > + if (rq) {
> > + rq->elv.icq = NULL;
> > + if (e && e->type->icq_cache)
> > + blk_mq_sched_assign_ioc(q, rq, bio);
>
> bfq needs rq->elv.icq to be consistent in bfq_get_request, but the
> needed initialization seems to occur only after mq.get_request is
> invoked.Can you do it from get/put_rq_priv? The icq is assigned there. If not, we can redo this part, not a big deal. -- Jens Axboe

