summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2013-12-05 08:58:21 +1100
committerNeilBrown <neilb@suse.de>2013-12-05 08:58:21 +1100
commit5dd29dafa26f1745ef055de1a035317d75c0e4ed (patch)
treefb2edb8f345383b97d57a99bd54cc59f9dc0b0fd
parentb11fe74db0d764c3a245d95bc3651be9bbd59463 (diff)
Two small fixes related to enough()
1/ enough_fd doesn't use avail_disks any more, so discard it. 2/ Manage_Add increments 'found' at the wrong place, so it can waste time before calling enough(). Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--Manage.c2
-rw-r--r--util.c2
2 files changed, 1 insertions, 3 deletions
diff --git a/Manage.c b/Manage.c
index 059cf5b8..6ccd2759 100644
--- a/Manage.c
+++ b/Manage.c
@@ -847,10 +847,10 @@ int Manage_add(int fd, int tfd, struct mddev_dev *dv,
continue;
if (disc.major == 0 && disc.minor == 0)
continue;
+ found++;
if (!(disc.state & (1<<MD_DISK_SYNC)))
continue;
avail[disc.raid_disk] = 1;
- found++;
}
array_failed = !enough(array->level, array->raid_disks,
array->layout, 1, avail);
diff --git a/util.c b/util.c
index b29a3ee7..12a19e7a 100644
--- a/util.c
+++ b/util.c
@@ -387,7 +387,6 @@ int enough_fd(int fd)
{
struct mdu_array_info_s array;
struct mdu_disk_info_s disk;
- int avail_disks = 0;
int i, rv;
char *avail;
@@ -407,7 +406,6 @@ int enough_fd(int fd)
continue;
if (disk.raid_disk < 0 || disk.raid_disk >= array.raid_disks)
continue;
- avail_disks++;
avail[disk.raid_disk] = 1;
}
/* This is used on an active array, so assume it is clean */