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>
This commit is contained in:
parent
b11fe74db0
commit
5dd29dafa2
2
Manage.c
2
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);
|
||||
|
|
2
util.c
2
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 */
|
||||
|
|
Loading…
Reference in New Issue