From 6b64abeccd9b8f761ee18c5effa3d9dc17ded8d6 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 30 Apr 2008 00:52:32 -0700 Subject: [PATCH] --- yaml --- r: 95099 b: refs/heads/master c: 11e2ede0228ee0f81ccacd15894908c3bf241f73 h: refs/heads/master i: 95097: 76f55d939d26ab2335165f12445211526b15b118 95095: 6de3f07be02317583b10e9a1c9517332838f51a5 v: v3 --- [refs] | 2 +- trunk/drivers/md/md.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 7cd7b4c09030..373eea58dcad 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 242b363e2207d14125f52a6701cfda7376a2a2fc +refs/heads/master: 11e2ede0228ee0f81ccacd15894908c3bf241f73 diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index 75a3f483522d..bec00b201a73 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -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) {