diff options
author | NeilBrown <neilb@suse.de> | 2013-12-05 08:58:21 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2013-12-05 08:58:21 +1100 |
commit | 5dd29dafa26f1745ef055de1a035317d75c0e4ed (patch) | |
tree | fb2edb8f345383b97d57a99bd54cc59f9dc0b0fd | |
parent | b11fe74db0d764c3a245d95bc3651be9bbd59463 (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.c | 2 | ||||
-rw-r--r-- | util.c | 2 |
2 files changed, 1 insertions, 3 deletions
@@ -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); @@ -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 */ |