1
0
Fork 0

dm raid: simplify rs_get_progress()

No need to calculate the reshaping progress because
mddev->curr_resync_completed holds it.

Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
hifive-unleashed-5.1
Heinz Mauelshagen 2017-12-13 17:13:20 +01:00 committed by Mike Snitzer
parent dc15b943d4
commit 7c29744ecc
1 changed files with 3 additions and 20 deletions

View File

@ -3399,26 +3399,9 @@ static sector_t rs_get_progress(struct raid_set *rs, unsigned long recovery,
set_bit(RT_FLAG_RS_IN_SYNC, &rs->runtime_flags);
} else {
/* Reshape is relative to the array size */
if (test_bit(MD_RECOVERY_RESHAPE, &recovery)) {
r = mddev->reshape_position;
if (r != MaxSector) {
/* Got to reverse on backward reshape */
if (mddev->reshape_backwards)
r = mddev->array_sectors - r;
/* Divide by # of data stripes unless raid1 */
if (!rs_is_raid1(rs))
sector_div(r, mddev_data_stripes(rs));
}
/*
* Sync/recover is relative to the component device size.
*
* MD_RECOVERY_NEEDED for https://bugzilla.redhat.com/show_bug.cgi?id=1508070
*/
} else if (test_bit(MD_RECOVERY_NEEDED, &recovery) ||
test_bit(MD_RECOVERY_RUNNING, &recovery))
if (test_bit(MD_RECOVERY_NEEDED, &recovery) ||
test_bit(MD_RECOVERY_RESHAPE, &recovery) ||
test_bit(MD_RECOVERY_RUNNING, &recovery))
r = mddev->curr_resync_completed;
else
r = mddev->recovery_cp;