md: prevent duplicates in bind_rdev_to_array
Found when trying to reassemble an active externally managed array. Without this check we hit the more noisy "sysfs duplicate" warning in the later call to kobject_add. Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
242b363e22
Коммит
11e2ede022
|
@ -1370,6 +1370,11 @@ static int bind_rdev_to_array(mdk_rdev_t * rdev, mddev_t * mddev)
|
|||
MD_BUG();
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* prevent duplicates */
|
||||
if (find_rdev(mddev, rdev->bdev->bd_dev))
|
||||
return -EEXIST;
|
||||
|
||||
/* make sure rdev->size exceeds mddev->size */
|
||||
if (rdev->size && (mddev->size == 0 || rdev->size < mddev->size)) {
|
||||
if (mddev->pers) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче