dev = MKDEV(MD_MAJOR, minor);
create_dev(name, dev);
for (i = 0; i < MD_SB_DISKS && devname != NULL; i++) {
+ struct kstat stat;
char *p;
char comp_name[64];
- u32 rdev;
p = strchr(devname, ',');
if (p)
if (strncmp(devname, "/dev/", 5) == 0)
devname += 5;
snprintf(comp_name, 63, "/dev/%s", devname);
- rdev = bstat(comp_name);
- if (rdev)
- dev = new_decode_dev(rdev);
+ if (vfs_stat(comp_name, &stat) == 0 &&
+ S_ISBLK(stat.mode))
+ dev = new_decode_dev(stat.rdev);
if (!dev) {
printk(KERN_WARNING "md: Unknown device name: %s\n", devname);
break;