block: genhd: Add disk/partition specific uevent callbacks for partition info
For disk devices, a new uevent parameter 'NPARTS' specifies the number of partitions detected by the kernel. Partition devices get 'PARTN' which specifies the partitions index in the table, and 'PARTNAME', which specifies PARTNAME specifices the partition name of a partition device Signed-off-by: Dima Zavin <dima@android.com>
This commit is contained in:
parent
3d3c6d8ed7
commit
bd39f6bb44
@ -1146,6 +1146,22 @@ static void disk_release(struct device *dev)
|
||||
blk_put_queue(disk->queue);
|
||||
kfree(disk);
|
||||
}
|
||||
|
||||
static int disk_uevent(struct device *dev, struct kobj_uevent_env *env)
|
||||
{
|
||||
struct gendisk *disk = dev_to_disk(dev);
|
||||
struct disk_part_iter piter;
|
||||
struct hd_struct *part;
|
||||
int cnt = 0;
|
||||
|
||||
disk_part_iter_init(&piter, disk, 0);
|
||||
while((part = disk_part_iter_next(&piter)))
|
||||
cnt++;
|
||||
disk_part_iter_exit(&piter);
|
||||
add_uevent_var(env, "NPARTS=%u", cnt);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct class block_class = {
|
||||
.name = "block",
|
||||
};
|
||||
@ -1165,6 +1181,7 @@ static struct device_type disk_type = {
|
||||
.groups = disk_attr_groups,
|
||||
.release = disk_release,
|
||||
.devnode = block_devnode,
|
||||
.uevent = disk_uevent,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
|
Loading…
Reference in New Issue
Block a user