[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>

authored by Neil Brown and committed by Linus Torvalds 1edf80d3 2a7e2f7d

+3
+3
drivers/md/md.c
··· 1238 mdk_rdev_t *same_pdev; 1239 char b[BDEVNAME_SIZE], b2[BDEVNAME_SIZE]; 1240 struct kobject *ko; 1241 1242 if (rdev->mddev) { 1243 MD_BUG(); ··· 1278 bdevname(rdev->bdev,b); 1279 if (kobject_set_name(&rdev->kobj, "dev-%s", b) < 0) 1280 return -ENOMEM; 1281 1282 list_add(&rdev->same_set, &mddev->disks); 1283 rdev->mddev = mddev;
··· 1238 mdk_rdev_t *same_pdev; 1239 char b[BDEVNAME_SIZE], b2[BDEVNAME_SIZE]; 1240 struct kobject *ko; 1241 + char *s; 1242 1243 if (rdev->mddev) { 1244 MD_BUG(); ··· 1277 bdevname(rdev->bdev,b); 1278 if (kobject_set_name(&rdev->kobj, "dev-%s", b) < 0) 1279 return -ENOMEM; 1280 + while ( (s=strchr(rdev->kobj.k_name, '/')) != NULL) 1281 + *s = '!'; 1282 1283 list_add(&rdev->same_set, &mddev->disks); 1284 rdev->mddev = mddev;