On Sun, 08 Sep 2024 09:07:04 +0900, Damien Le Moal wrote: > Commit af2814149883 ("block: freeze the queue in queue_attr_store") > changed queue_attr_store() to always freeze a sysfs attribute queue > before calling the attribute store() method, to ensure that no IOs are > in-flight when an attribute value is being updated. > > However, this change created a potential deadlock situation for the > scheduler queue attribute as changing the queue elevator with > elv_iosched_store() can result in a call to request_module() if the user > requested module is not already registered. If the file of the requested > module is stored on the block device of the frozen queue, a deadlock > will happen as the read operations triggered by request_module() will > wait for the queue freeze to end. > > [...] Applied, thanks! [1/1] block: Prevent deadlocks when switching elevators commit: 3c031b721c0ee1d6237719a6a9d7487ef757487b Best regards, -- Jens Axboe