On Tue, Feb 22, 2022 at 08:06:31PM -0800, Bart Van Assche wrote: > 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? That may happen, but not related with this patch, since this patch just delays removing of hctx's debug entry. And q->debugfs_dir is removed from blk_release_queue(). So far, request queue doesn't has name, and just uses the disk's name for creating debugfs entry. The trouble should have been there for long time. Thanks, Ming