[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>
This commit is contained in:
parent
2a7e2f7dcb
commit
1edf80d347
|
@ -1238,6 +1238,7 @@ static int bind_rdev_to_array(mdk_rdev_t * rdev, mddev_t * mddev)
|
||||||
mdk_rdev_t *same_pdev;
|
mdk_rdev_t *same_pdev;
|
||||||
char b[BDEVNAME_SIZE], b2[BDEVNAME_SIZE];
|
char b[BDEVNAME_SIZE], b2[BDEVNAME_SIZE];
|
||||||
struct kobject *ko;
|
struct kobject *ko;
|
||||||
|
char *s;
|
||||||
|
|
||||||
if (rdev->mddev) {
|
if (rdev->mddev) {
|
||||||
MD_BUG();
|
MD_BUG();
|
||||||
|
@ -1277,6 +1278,8 @@ static int bind_rdev_to_array(mdk_rdev_t * rdev, mddev_t * mddev)
|
||||||
bdevname(rdev->bdev,b);
|
bdevname(rdev->bdev,b);
|
||||||
if (kobject_set_name(&rdev->kobj, "dev-%s", b) < 0)
|
if (kobject_set_name(&rdev->kobj, "dev-%s", b) < 0)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
while ( (s=strchr(rdev->kobj.k_name, '/')) != NULL)
|
||||||
|
*s = '!';
|
||||||
|
|
||||||
list_add(&rdev->same_set, &mddev->disks);
|
list_add(&rdev->same_set, &mddev->disks);
|
||||||
rdev->mddev = mddev;
|
rdev->mddev = mddev;
|
||||||
|
|
Loading…
Reference in New Issue