[PATCH 3/5] block: refactor sysfs code

Matteo Croce
2021-02-06T03:03:51Z

Move the sysfs register code from a function named disk_add_events() to
a new function named disk_add_sysfs(). Also, rename the attribute list
with a more generic name than disk_events_attrs.

Signed-off-by: Matteo Croce <mcroce@microsoft.com>
---
block/genhd.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/block/genhd.c b/block/genhd.c
index 4dbf589e1610..a59a35cf452c 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -41,6 +41,7 @@ static void disk_alloc_events(struct gendisk *disk);
static void disk_add_events(struct gendisk *disk);
static void disk_del_events(struct gendisk *disk);
static void disk_release_events(struct gendisk *disk);
+static void disk_add_sysfs(struct gendisk *disk);

void set_capacity(struct gendisk *disk, sector_t sectors)
{
@@ -760,6 +761,7 @@ static void __device_add_disk(struct device *parent, struct gendisk *disk,
*/
WARN_ON_ONCE(!blk_get_queue(disk->queue));

+ disk_add_sysfs(disk);
disk_add_events(disk);
blk_integrity_add(disk);
}
@@ -2049,7 +2051,7 @@ static const DEVICE_ATTR(events_poll_msecs, 0644,
disk_events_poll_msecs_show,
disk_events_poll_msecs_store);

-static const struct attribute *disk_events_attrs[] = {
+static const struct attribute *disk_sysfs_attrs[] = {
&dev_attr_events.attr,
&dev_attr_events_async.attr,
&dev_attr_events_poll_msecs.attr,
@@ -2120,13 +2122,16 @@ static void disk_alloc_events(struct gendisk *disk)
disk->ev = ev;
}

-static void disk_add_events(struct gendisk *disk)
+static void disk_add_sysfs(struct gendisk *disk)
{
/* FIXME: error handling */
- if (sysfs_create_files(&disk_to_dev(disk)->kobj, disk_events_attrs) < 0)
+ if (sysfs_create_files(&disk_to_dev(disk)->kobj, disk_sysfs_attrs) < 0)
pr_warn("%s: failed to create sysfs files for events\n",
disk->disk_name);
+}

+static void disk_add_events(struct gendisk *disk)
+{
if (!disk->ev)
return;

@@ -2151,7 +2156,7 @@ static void disk_del_events(struct gendisk *disk)
mutex_unlock(&disk_events_mutex);
}

- sysfs_remove_files(&disk_to_dev(disk)->kobj, disk_events_attrs);
+ sysfs_remove_files(&disk_to_dev(disk)->kobj, disk_sysfs_attrs);
}

static void disk_release_events(struct gendisk *disk)
--
2.29.2