aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2006-01-12 04:05:23 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-12 12:08:49 -0500
commit1edf80d347387405ff4e8934d194d75f57a3caef (patch)
treecaa49dd92e32368cd767690cdbd034c9645d0f07 /drivers/md/md.c
parent2a7e2f7dcb81279e73aefb691ea55ab3540e408a (diff)
[PATCH] md: remove slashes from disk names when creation dev names in sysfs
e.g. The sx8 driver uses names like sx8/0. This would make a md component dev name like /sys/block/md0/md/dev-sx8/0 which is not allowed. So we change the '/' to '!' just like fs/partitions/check.c(register_disk) does. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r--drivers/md/md.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 0302723fa21..1778104e106 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -1238,6 +1238,7 @@ static int bind_rdev_to_array(mdk_rdev_t * rdev, mddev_t * mddev)
1238 mdk_rdev_t *same_pdev; 1238 mdk_rdev_t *same_pdev;
1239 char b[BDEVNAME_SIZE], b2[BDEVNAME_SIZE]; 1239 char b[BDEVNAME_SIZE], b2[BDEVNAME_SIZE];
1240 struct kobject *ko; 1240 struct kobject *ko;
1241 char *s;
1241 1242
1242 if (rdev->mddev) { 1243 if (rdev->mddev) {
1243 MD_BUG(); 1244 MD_BUG();
@@ -1277,6 +1278,8 @@ static int bind_rdev_to_array(mdk_rdev_t * rdev, mddev_t * mddev)
1277 bdevname(rdev->bdev,b); 1278 bdevname(rdev->bdev,b);
1278 if (kobject_set_name(&rdev->kobj, "dev-%s", b) < 0) 1279 if (kobject_set_name(&rdev->kobj, "dev-%s", b) < 0)
1279 return -ENOMEM; 1280 return -ENOMEM;
1281 while ( (s=strchr(rdev->kobj.k_name, '/')) != NULL)
1282 *s = '!';
1280 1283
1281 list_add(&rdev->same_set, &mddev->disks); 1284 list_add(&rdev->same_set, &mddev->disks);
1282 rdev->mddev = mddev; 1285 rdev->mddev = mddev;