From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org
Cc: gregkh@suse.de
Subject: [PATCH] Driver core: Make block devices create the proper symlink name
Date: Wed, 4 Jan 2006 16:49:31 -0800 [thread overview]
Message-ID: <11364221712844@kroah.com> (raw)
In-Reply-To: <11364221702858@kroah.com>
[PATCH] Driver core: Make block devices create the proper symlink name
Block devices need to add the block device name to the symlink they put
in the device directory, otherwise multiple symlinks of the same name
can be created. This matches the class system, which works the same
way, we just forgot to convert block at the same time.
Cc: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
commit 8218ef80932aa7e5e3d20c929a640c8d82133a9a
tree 73f2e7a972563cf536a7dae0fa02d99c4041d893
parent 874c6241b2e49e52680d32a50d4909c7768d5cb9
author Greg Kroah-Hartman <gregkh@suse.de> Tue, 13 Dec 2005 15:17:34 -0800
committer Greg Kroah-Hartman <gregkh@suse.de> Wed, 04 Jan 2006 16:18:09 -0800
fs/partitions/check.c | 27 +++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/fs/partitions/check.c b/fs/partitions/check.c
index 7187a57..7881ce0 100644
--- a/fs/partitions/check.c
+++ b/fs/partitions/check.c
@@ -336,12 +336,31 @@ void add_partition(struct gendisk *disk,
disk->part[part-1] = p;
}
+static char *make_block_name(struct gendisk *disk)
+{
+ char *name;
+ static char *block_str = "block:";
+ int size;
+
+ size = strlen(block_str) + strlen(disk->disk_name) + 1;
+ name = kmalloc(size, GFP_KERNEL);
+ if (!name)
+ return NULL;
+ strcpy(name, block_str);
+ strcat(name, disk->disk_name);
+ return name;
+}
+
static void disk_sysfs_symlinks(struct gendisk *disk)
{
struct device *target = get_device(disk->driverfs_dev);
if (target) {
+ char *disk_name = make_block_name(disk);
sysfs_create_link(&disk->kobj,&target->kobj,"device");
- sysfs_create_link(&target->kobj,&disk->kobj,"block");
+ if (disk_name) {
+ sysfs_create_link(&target->kobj,&disk->kobj,disk_name);
+ kfree(disk_name);
+ }
}
}
@@ -461,8 +480,12 @@ void del_gendisk(struct gendisk *disk)
devfs_remove_disk(disk);
if (disk->driverfs_dev) {
+ char *disk_name = make_block_name(disk);
sysfs_remove_link(&disk->kobj, "device");
- sysfs_remove_link(&disk->driverfs_dev->kobj, "block");
+ if (disk_name) {
+ sysfs_remove_link(&disk->driverfs_dev->kobj, disk_name);
+ kfree(disk_name);
+ }
put_device(disk->driverfs_dev);
}
kobject_uevent(&disk->kobj, KOBJ_REMOVE);
next prev parent reply other threads:[~2006-01-05 0:57 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-05 0:48 [GIT PATCH] Driver Core patches for 2.6.15 Greg KH
2006-01-05 0:49 ` [PATCH] remove CONFIG_KOBJECT_UEVENT option Greg KH
2006-01-05 0:49 ` [PATCH] remove mount/umount uevents from superblock handling Greg KH
2006-01-05 0:49 ` [PATCH] keep pnpbios usermod_helper away from hotplug_path[] Greg KH
2006-01-05 0:49 ` [PATCH] add uevent_helper control in /sys/kernel/ Greg KH
2006-01-05 0:49 ` [PATCH] merge kobject_uevent and kobject_hotplug Greg KH
2006-01-05 0:49 ` [PATCH] driver core: replace "hotplug" by "uevent" Greg KH
2006-01-05 0:49 ` [PATCH] driver kill hotplug word from sn and others fix Greg KH
2006-01-05 0:49 ` [PATCH] HOTPLUG: always enable the .config option, unless EMBEDDED Greg KH
2006-01-05 0:49 ` [PATCH] Hold the device's parent's lock during probe and remove Greg KH
2006-01-05 0:49 ` [PATCH] Allow overlapping resources for platform devices Greg KH
2006-01-05 0:49 ` [PATCH] klist: Fix broken kref counting in find functions Greg KH
2006-01-05 0:49 ` [PATCH] kobject_uevent CONFIG_NET=n fix Greg KH
2006-01-05 0:49 ` [PATCH] Input: add modalias support Greg KH
2006-01-05 0:49 ` [PATCH] ide: MODALIAS support for autoloading of ide-cd, ide-disk, Greg KH
2006-01-05 0:49 ` Greg KH [this message]
2006-01-05 0:49 ` [PATCH] Driver core: only all userspace bind/unbind if CONFIG_HOTPLUG is enabled Greg KH
2006-01-05 0:49 ` [PATCH] Driver Core: Add platform_device_del() Greg KH
2006-01-05 0:49 ` [PATCH] Driver Core: Rearrange exports in platform.c Greg KH
2006-01-05 0:49 ` [PATCH] Input: fix add modalias support build error Greg KH
2006-01-05 0:49 ` [PATCH] sysfs: handle failures in sysfs_make_dirent Greg KH
2006-01-05 0:49 ` [PATCH] drivers/base/power/runtime.c: #if 0 dpm_set_power_state() Greg KH
2006-01-05 0:49 ` [PATCH] net: swich device attribute creation to default attrs Greg KH
2006-01-05 1:38 ` [GIT PATCH] Driver Core patches for 2.6.15 Linus Torvalds
2006-01-05 2:07 ` Greg KH
2006-01-05 2:40 ` Linus Torvalds
2006-01-05 3:31 ` Greg KH
2006-01-05 3:36 ` Linus Torvalds
2006-01-05 3:44 ` devfs going away, last chance to complain (was Re: [GIT PATCH] Driver Core patches for 2.6.15) Greg KH
2006-01-05 7:44 ` Steven Noonan
2006-01-05 9:17 ` Andrew Walrond
2006-01-05 9:18 ` Kyle Moffett
2006-01-05 14:04 ` [GIT PATCH] Driver Core patches for 2.6.15 John Stoffel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11364221712844@kroah.com \
--to=gregkh@suse.de \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox