[PATCH] md: allow hot-adding devices to arrays with non-persistant superblocks.
It is possibly (and occasionally useful) to have a raid1 without persistent superblocks. The code in add_new_disk for adding a device to such an array always tries to read a superblock. This will obviously fail. So do the appropriate test and call md_import_device with appropriate args. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
3178b0dbdf
commit
7b1e35f6d6
|
@ -2226,8 +2226,11 @@ static int add_new_disk(mddev_t * mddev, mdu_disk_info_t *info)
|
||||||
mdname(mddev));
|
mdname(mddev));
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
rdev = md_import_device(dev, mddev->major_version,
|
if (mddev->persistent)
|
||||||
mddev->minor_version);
|
rdev = md_import_device(dev, mddev->major_version,
|
||||||
|
mddev->minor_version);
|
||||||
|
else
|
||||||
|
rdev = md_import_device(dev, -1, -1);
|
||||||
if (IS_ERR(rdev)) {
|
if (IS_ERR(rdev)) {
|
||||||
printk(KERN_WARNING
|
printk(KERN_WARNING
|
||||||
"md: md_import_device returned %ld\n",
|
"md: md_import_device returned %ld\n",
|
||||||
|
|
Loading…
Reference in New Issue