imsm:FIX: change arrays reshape order

Reshape is started from second array, so it causes imsm incompatibility
and problems during second array start.

Reshape should be started in arrays metadata order.

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Adam Kwolek 2011-01-31 09:59:22 +01:00 committed by NeilBrown
parent e4b1107355
commit d098291aec
1 changed files with 8 additions and 1 deletions

View File

@ -5848,6 +5848,7 @@ static int apply_reshape_container_disks_update(struct imsm_update_reshape *u,
int devices_to_reshape = 1;
struct imsm_super *mpb = super->anchor;
int ret_val = 0;
unsigned int dev_id;
dprintf("imsm: imsm_process_update() for update_reshape\n");
@ -5877,11 +5878,17 @@ static int apply_reshape_container_disks_update(struct imsm_update_reshape *u,
" mpb->num_raid_devs = %i\n", mpb->num_raid_devs);
/* manage changes in volume
*/
for (id = super->devlist ; id; id = id->next) {
for (dev_id = 0; dev_id < mpb->num_raid_devs; dev_id++) {
void **sp = *space_list;
struct imsm_dev *newdev;
struct imsm_map *newmap, *oldmap;
for (id = super->devlist ; id; id = id->next) {
if (id->index == dev_id)
break;
}
if (id == NULL)
break;
if (!sp)
continue;
*space_list = *sp;