]> www.infradead.org Git - users/hch/block.git/commitdiff
block: factor out a blk_debugfs_remove helper
authorChristoph Hellwig <hch@lst.de>
Thu, 10 Nov 2022 11:01:42 +0000 (12:01 +0100)
committerChristoph Hellwig <hch@lst.de>
Thu, 10 Nov 2022 11:02:18 +0000 (12:02 +0100)
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>
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);
 }