On 8/22/19 6:08 PM, Ming Lei wrote:
On Thu, Aug 22, 2019 at 12:52:54PM -0700, Bart Van Assche wrote:
Shouldn't blk_register_queue() and blk_unregister_queue() be serialized
against blk_mq_update_nr_hw_queues()? Allowing these calls to proceed
It can be easy to say than done. We depends on users for sync
between blk_register_queue() and blk_unregister_queue(), also
there are several locks involved in blk_mq_update_nr_hw_queues().
Now, the sync is done via .sysfs_lock, and so far not see issues in this
area. This patch just converts the .sysfs_lock into .sysfs_dir_lock for
same purpose.
If you have simple and workable patch to serialize blk_register_queue() and
blk_unregister_queue() against blk_mq_update_nr_hw_queues(), I am happy to
review. Otherwise please consider to do it in future, and it shouldn't a
blocker for fixing this deadlock, should it?
Since what I requested would result in serialization across request
queues of I/O scheduler changes, let's keep this for a later time.
Bart.