When array is in reshape state raid_disks field contains final disks number.
To know how many disks were added, disk.raid_disk index has to be compared
against old disk number computed using delta_disks.
Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
int working = 0, preexist = 0;
int expansion = 0;
struct map_ent *map = NULL;
+ int old_raid_disks;
sysfs_init(content, mdfd, 0);
if (sra)
sysfs_free(sra);
-
+ old_raid_disks = content->array.raid_disks - content->delta_disks;
for (dev = content->devs; dev; dev = dev->next)
if (sysfs_add_disk(content, dev, 1) == 0) {
- if (dev->disk.raid_disk >= content->array.raid_disks &&
+ if (dev->disk.raid_disk >= old_raid_disks &&
content->reshape_active)
expansion++;
else