block: factor out a blk_debugfs_remove helper
authorChristoph Hellwig <hch@lst.de>
Mon, 14 Nov 2022 04:26:34 +0000 (05:26 +0100)
committerJens Axboe <axboe@kernel.dk>
Wed, 30 Nov 2022 18:09:00 +0000 (11:09 -0700)
Split the debugfs removal from blk_unregister_queue into a helper so that
the it can be reused for blk_register_queue error handling.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20221114042637.1009333-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-sysfs.c

index bd223a3bef47d8940214f1f72baaa099b2bb6234..197646d479b4a034e529b76f75194a1b4c30f6c2 100644 (file)
@@ -800,6 +800,19 @@ struct kobj_type blk_queue_ktype = {
        .release        = blk_release_queue,
 };
 
+static void blk_debugfs_remove(struct gendisk *disk)
+{
+       struct request_queue *q = disk->queue;
+
+       mutex_lock(&q->debugfs_mutex);
+       blk_trace_shutdown(q);
+       debugfs_remove_recursive(q->debugfs_dir);
+       q->debugfs_dir = NULL;
+       q->sched_debugfs_dir = NULL;
+       q->rqos_debugfs_dir = NULL;
+       mutex_unlock(&q->debugfs_mutex);
+}
+
 /**
  * blk_register_queue - register a block layer queue with sysfs
  * @disk: Disk of which the request queue should be registered with sysfs.
@@ -925,11 +938,5 @@ void blk_unregister_queue(struct gendisk *disk)
        kobject_del(&q->kobj);
        mutex_unlock(&q->sysfs_dir_lock);
 
-       mutex_lock(&q->debugfs_mutex);
-       blk_trace_shutdown(q);
-       debugfs_remove_recursive(q->debugfs_dir);
-       q->debugfs_dir = NULL;
-       q->sched_debugfs_dir = NULL;
-       q->rqos_debugfs_dir = NULL;
-       mutex_unlock(&q->debugfs_mutex);
+       blk_debugfs_remove(disk);
 }