diff options
author | Keith Busch <keith.busch@intel.com> | 2018-09-25 10:36:20 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2018-09-25 20:17:59 -0600 |
commit | 530ca2c9bd6949c72c9b5cfc330cb3dbccaa3f5b (patch) | |
tree | f25bd9aa92fc0042974192d81b705253ddd8c597 /block/elevator.c | |
parent | b57e99b4b8b0ebdf9707424e7ddc0c392bdc5fe6 (diff) | |
download | linux-530ca2c9bd6949c72c9b5cfc330cb3dbccaa3f5b.tar.bz2 |
blk-mq: Allow blocking queue tag iter callbacks
A recent commit runs tag iterator callbacks under the rcu read lock,
but existing callbacks do not satisfy the non-blocking requirement.
The commit intended to prevent an iterator from accessing a queue that's
being modified. This patch fixes the original issue by taking a queue
reference instead of reading it, which allows callbacks to make blocking
calls.
Fixes: f5bbbbe4d6357 ("blk-mq: sync the update nr_hw_queues with blk_mq_queue_tag_busy_iter")
Acked-by: Jianchao Wang <jianchao.w.wang@oracle.com>
Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/elevator.c')
0 files changed, 0 insertions, 0 deletions