On 2/22/22 06:14, Christoph Hellwig wrote:
From: Ming Lei <ming.lei@xxxxxxxxxx> The queue's top debugfs dir is removed from blk_release_queue(), so all hctx's debugfs dirs are removed from there. Given blk_mq_exit_queue() is only called from blk_cleanup_queue(), it isn't necessary to remove hctx debugfs from blk_mq_exit_queue(). So remove it from blk_mq_exit_queue(). Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- block/blk-mq.c | 1 - 1 file changed, 1 deletion(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 63e2d3fd60946..540c8da30da72 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -3425,7 +3425,6 @@ static void blk_mq_exit_hw_queues(struct request_queue *q, queue_for_each_hw_ctx(q, hctx, i) { if (i == nr_queue) break; - blk_mq_debugfs_unregister_hctx(hctx); blk_mq_exit_hctx(q, set, hctx, i); } }
What will happen if a new queue with the same name as a removed queue is created before blk_release_queue() for the removed queue has finished? Will that cause registration of debugfs attributes for the newly created queue to fail?
Thanks, Bart.