OSDN Git Service

block: use default groups to register the queue attributes
authorChristoph Hellwig <hch@lst.de>
Tue, 28 Jun 2022 17:18:47 +0000 (19:18 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 28 Jun 2022 17:32:42 +0000 (11:32 -0600)
Set up the default_groups for blk_queue_ktype instead of manually calling
sysfs_create_group.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20220628171850.1313069-4-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-sysfs.c

index f9373da..b725067 100644 (file)
@@ -795,7 +795,13 @@ static const struct sysfs_ops queue_sysfs_ops = {
        .store  = queue_attr_store,
 };
 
+static const struct attribute_group *blk_queue_attr_groups[] = {
+       &queue_attr_group,
+       NULL
+};
+
 struct kobj_type blk_queue_ktype = {
+       .default_groups = blk_queue_attr_groups,
        .sysfs_ops      = &queue_sysfs_ops,
        .release        = blk_release_queue,
 };
@@ -816,12 +822,6 @@ int blk_register_queue(struct gendisk *disk)
        if (ret < 0)
                goto unlock;
 
-       ret = sysfs_create_group(&q->kobj, &queue_attr_group);
-       if (ret) {
-               kobject_del(&q->kobj);
-               goto unlock;
-       }
-
        if (queue_is_mq(q))
                __blk_mq_register_dev(dev, q);
        mutex_lock(&q->sysfs_lock);