]> git.baikalelectronics.ru Git - kernel.git/commit
blk-mq: don't overwrite rq->mq_ctx
authorJens Axboe <axboe@fb.com>
Wed, 24 Aug 2016 21:34:35 +0000 (15:34 -0600)
committerJens Axboe <axboe@fb.com>
Wed, 24 Aug 2016 21:34:35 +0000 (15:34 -0600)
commitde57a6163a6a5d238f7c3fe68d48a2812dcb0a44
tree58bbfa1e382f1445e277e9d1833ac131fc0a9ae2
parent612b1c08130fafde52d9410e066c16a841ece346
blk-mq: don't overwrite rq->mq_ctx

We do this in a few places, if the CPU is offline. This isn't allowed,
though, since on multi queue hardware, we can't just move a request
from one software queue to another, if they map to different hardware
queues. The request and tag isn't valid on another hardware queue.

This can happen if plugging races with CPU offlining. But it does
no harm, since it can only happen in the window where we are
currently busy freezing the queue and flushing IO, in preparation
for redoing the software <-> hardware queue mappings.

Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c