Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17eac099 authored by Hannes Reinecke's avatar Hannes Reinecke Committed by Jens Axboe
Browse files

block: create 'slaves' and 'holders' entries for hidden gendisks



When creating nvme multipath devices we should populate the 'slaves' and
'holders' directorys properly to aid userspace topology detection.

Signed-off-by: default avatarHannes Reinecke <hare@suse.com>
[hch: split from a larger patch]
Reviewed-by: default avatarKeith Busch <keith.busch@intel.com>
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 5b85b826
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -585,14 +585,14 @@ static void register_disk(struct device *parent, struct gendisk *disk)
	 */
	pm_runtime_set_memalloc_noio(ddev, true);

	disk->part0.holder_dir = kobject_create_and_add("holders", &ddev->kobj);
	disk->slave_dir = kobject_create_and_add("slaves", &ddev->kobj);

	if (disk->flags & GENHD_FL_HIDDEN) {
		dev_set_uevent_suppress(ddev, 0);
		return;
	}

	disk->part0.holder_dir = kobject_create_and_add("holders", &ddev->kobj);
	disk->slave_dir = kobject_create_and_add("slaves", &ddev->kobj);

	/* No minors to use for partitions */
	if (!disk_part_scan_enabled(disk))
		goto exit;
@@ -728,11 +728,11 @@ void del_gendisk(struct gendisk *disk)
		WARN_ON(1);
	}

	if (!(disk->flags & GENHD_FL_HIDDEN)) {
	if (!(disk->flags & GENHD_FL_HIDDEN))
		blk_unregister_region(disk_devt(disk), disk->minors);

	kobject_put(disk->part0.holder_dir);
	kobject_put(disk->slave_dir);
	}

	part_stat_set_all(&disk->part0, 0);
	disk->part0.stamp = 0;