Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Dan Williams and committed by
Linus Torvalds
11e2ede0 242b363e

+5
+5
drivers/md/md.c
··· 1370 1370 MD_BUG(); 1371 1371 return -EINVAL; 1372 1372 } 1373 + 1374 + /* prevent duplicates */ 1375 + if (find_rdev(mddev, rdev->bdev->bd_dev)) 1376 + return -EEXIST; 1377 + 1373 1378 /* make sure rdev->size exceeds mddev->size */ 1374 1379 if (rdev->size && (mddev->size == 0 || rdev->size < mddev->size)) { 1375 1380 if (mddev->pers) {