imsm: Optimize expansion speed when no backup is required

When no reshape backup is required (e.g. OLCE after critical section),
check-pointing can use bigger steps than backup space allows for.

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Adam Kwolek 2011-06-09 13:00:56 +10:00 committed by NeilBrown
parent a47e44fb96
commit 8016a6d42e
1 changed files with 8 additions and 0 deletions

View File

@ -8854,11 +8854,19 @@ static int imsm_manage_reshape(
"migration record (UNIT_SRC_IN_CP_AREA)\n");
goto abort;
}
} else {
/* set next step to use whole border area */
border /= next_step;
if (border > 1)
next_step *= border;
}
/* When data backed up, checkpoint stored,
* kick the kernel to reshape unit of data
*/
next_step = next_step + sra->reshape_progress;
/* limit next step to array max position */
if (next_step > max_position)
next_step = max_position;
sysfs_set_num(sra, NULL, "suspend_lo", sra->reshape_progress);
sysfs_set_num(sra, NULL, "suspend_hi", next_step);
sra->reshape_progress = next_step;