From ab96ba298b55e0b3eef1c18fc8be506071634cdf Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 11 Dec 2015 11:39:32 +0100 Subject: partition: Create links with partition names When a partition has a name create a link to the original partition rather than registering a second cdev. Signed-off-by: Sascha Hauer --- common/partitions.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'common/partitions.c') diff --git a/common/partitions.c b/common/partitions.c index 4f50bfeff1..82ec508e64 100644 --- a/common/partitions.c +++ b/common/partitions.c @@ -71,20 +71,14 @@ static int register_one_partition(struct block_device *blk, if (!part->name[0]) return 0; - partition_name = asprintf("%s.%s", blk->cdev.name, part->name); - if (!partition_name) - return -ENOMEM; - - dev_dbg(blk->dev, "Registering partition %s on drive %s\n", - partition_name, blk->cdev.name); - cdev = devfs_add_partition(blk->cdev.name, - start, size, 0, partition_name); - - if (IS_ERR(cdev)) - dev_warn(blk->dev, "Registering partition %s on drive %s failed\n", - partition_name, blk->cdev.name); + partition_name = xasprintf("%s.%s", blk->cdev.name, part->name); + ret = devfs_create_link(cdev, partition_name); + if (ret) + dev_warn(blk->dev, "Failed to create link from %s to %s\n", + partition_name, blk->cdev.name); + free(partition_name); - ret = 0; + return 0; out: free(partition_name); return ret; -- cgit v1.2.3