]> 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)
commitcea321f9ecde0bf90a9476467d0af442b9204c31
tree58bbfa1e382f1445e277e9d1833ac131fc0a9ae2
parent5d7b328696a50059c6866894c8087b1ae9e9aba8
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