Messages in this thread Patch in this message | | | From | Neil Brown <> | Date | Sat, 14 Jan 2006 08:06:47 +1100 | Subject | Re: 2.6.15: oops in sysfs_create_link |
| |
On Friday January 13, sven@geggus.net wrote: > Hello kernel people, > > the attached oops happens when I try to create an md-array on an aoe device > in conjunction with vanilla Kernel 2.6.15+drbd+aoe: > > --cut-- > kernel BUG at fs/sysfs/symlink.c:87!
Thanks for the report. This should be fixed by the following patch.
NeilBrown
---------------------- Remove slashed 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 no allowed. So we change the '/' to '!' just like fs/partitions/check.c(register_disk) does.
Signed-off-by: Neil Brown <neilb@suse.de>
### Diffstat output ./drivers/md/md.c | 3 +++ 1 file changed, 3 insertions(+)
diff ./drivers/md/md.c~current~ ./drivers/md/md.c --- ./drivers/md/md.c~current~ 2006-01-12 11:18:52.000000000 +1100 +++ ./drivers/md/md.c 2006-01-12 09:44:39.000000000 +1100 @@ -1238,6 +1238,7 @@ static int bind_rdev_to_array(mdk_rdev_t mdk_rdev_t *same_pdev; char b[BDEVNAME_SIZE], b2[BDEVNAME_SIZE]; struct kobject *ko; + char *s; if (rdev->mddev) { MD_BUG(); @@ -1277,6 +1278,8 @@ static int bind_rdev_to_array(mdk_rdev_t bdevname(rdev->bdev,b); if (kobject_set_name(&rdev->kobj, "dev-%s", b) < 0) return -ENOMEM; + while ( (s=strchr(rdev->kobj.k_name, '/')) != NULL) + *s = '!'; list_add(&rdev->same_set, &mddev->disks); rdev->mddev = mddev; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |