Hi, This commit introduced a rcu_read_lock() inside blk_mq_queue_tag_busy_iter() - this is problematic for the timout code, since we now end up holding the RCU read lock over the timeout code. As just one example, nvme ends up doing:
nvme_timeout()
nvme_dev_disable()
mutex_lock(&dev->shutdown_lock);
and things are then obviously unhappy...
--
Jens Axboe
