blk-mq: update hardware and software queues for sleeping alloc
If we end up sleeping due to running out of requests, we should update the hardware and software queues in the map ctx structure. Otherwise we could end up having rq->mq_ctx point to the pre-sleep context, and risk corrupting ctx->rq_list since we'll be grabbing the wrong lock when inserting the request. Reported-by: NDave Jones <davej@codemonkey.org.uk> Reported-by: NChris Mason <clm@fb.com> Tested-by: NChris Mason <clm@fb.com> Fixes: 63581af3 ("blk-mq: remove non-blocking pass in blk_mq_map_request") Signed-off-by: NJens Axboe <axboe@fb.com>
Showing
想要评论请 注册 或 登录