@@ -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)
{
@@ -628,6 +629,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);
}
@@ -1838,7 +1840,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,
@@ -1909,13 +1911,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;
@@ -1940,7 +1945,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)