@@ -439,7 +439,7 @@ static bool rs_is_reshapable(struct raid_set *rs)
439439/* Return true, if raid set in @rs is recovering */
440440static bool rs_is_recovering (struct raid_set * rs )
441441{
442- return rs -> md .recovery_cp < rs -> md .dev_sectors ;
442+ return rs -> md .resync_offset < rs -> md .dev_sectors ;
443443}
444444
445445/* Return true, if raid set in @rs is reshaping */
@@ -769,7 +769,7 @@ static struct raid_set *raid_set_alloc(struct dm_target *ti, struct raid_type *r
769769 rs -> md .layout = raid_type -> algorithm ;
770770 rs -> md .new_layout = rs -> md .layout ;
771771 rs -> md .delta_disks = 0 ;
772- rs -> md .recovery_cp = MaxSector ;
772+ rs -> md .resync_offset = MaxSector ;
773773
774774 for (i = 0 ; i < raid_devs ; i ++ )
775775 md_rdev_init (& rs -> dev [i ].rdev );
@@ -913,7 +913,7 @@ static int parse_dev_params(struct raid_set *rs, struct dm_arg_set *as)
913913 rs -> md .external = 0 ;
914914 rs -> md .persistent = 1 ;
915915 rs -> md .major_version = 2 ;
916- } else if (rebuild && !rs -> md .recovery_cp ) {
916+ } else if (rebuild && !rs -> md .resync_offset ) {
917917 /*
918918 * Without metadata, we will not be able to tell if the array
919919 * is in-sync or not - we must assume it is not. Therefore,
@@ -1356,11 +1356,7 @@ static int parse_raid_params(struct raid_set *rs, struct dm_arg_set *as,
13561356 return - EINVAL ;
13571357 }
13581358
1359- /*
1360- * In device-mapper, we specify things in sectors, but
1361- * MD records this value in kB
1362- */
1363- if (value < 0 || value / 2 > COUNTER_MAX ) {
1359+ if (value < 0 ) {
13641360 rs -> ti -> error = "Max write-behind limit out of range" ;
13651361 return - EINVAL ;
13661362 }
@@ -1700,20 +1696,20 @@ static void rs_setup_recovery(struct raid_set *rs, sector_t dev_sectors)
17001696{
17011697 /* raid0 does not recover */
17021698 if (rs_is_raid0 (rs ))
1703- rs -> md .recovery_cp = MaxSector ;
1699+ rs -> md .resync_offset = MaxSector ;
17041700 /*
17051701 * A raid6 set has to be recovered either
17061702 * completely or for the grown part to
17071703 * ensure proper parity and Q-Syndrome
17081704 */
17091705 else if (rs_is_raid6 (rs ))
1710- rs -> md .recovery_cp = dev_sectors ;
1706+ rs -> md .resync_offset = dev_sectors ;
17111707 /*
17121708 * Other raid set types may skip recovery
17131709 * depending on the 'nosync' flag.
17141710 */
17151711 else
1716- rs -> md .recovery_cp = test_bit (__CTR_FLAG_NOSYNC , & rs -> ctr_flags )
1712+ rs -> md .resync_offset = test_bit (__CTR_FLAG_NOSYNC , & rs -> ctr_flags )
17171713 ? MaxSector : dev_sectors ;
17181714}
17191715
@@ -2148,7 +2144,7 @@ static void super_sync(struct mddev *mddev, struct md_rdev *rdev)
21482144 sb -> events = cpu_to_le64 (mddev -> events );
21492145
21502146 sb -> disk_recovery_offset = cpu_to_le64 (rdev -> recovery_offset );
2151- sb -> array_resync_offset = cpu_to_le64 (mddev -> recovery_cp );
2147+ sb -> array_resync_offset = cpu_to_le64 (mddev -> resync_offset );
21522148
21532149 sb -> level = cpu_to_le32 (mddev -> level );
21542150 sb -> layout = cpu_to_le32 (mddev -> layout );
@@ -2339,18 +2335,18 @@ static int super_init_validation(struct raid_set *rs, struct md_rdev *rdev)
23392335 }
23402336
23412337 if (!test_bit (__CTR_FLAG_NOSYNC , & rs -> ctr_flags ))
2342- mddev -> recovery_cp = le64_to_cpu (sb -> array_resync_offset );
2338+ mddev -> resync_offset = le64_to_cpu (sb -> array_resync_offset );
23432339
23442340 /*
23452341 * During load, we set FirstUse if a new superblock was written.
23462342 * There are two reasons we might not have a superblock:
23472343 * 1) The raid set is brand new - in which case, all of the
23482344 * devices must have their In_sync bit set. Also,
2349- * recovery_cp must be 0, unless forced.
2345+ * resync_offset must be 0, unless forced.
23502346 * 2) This is a new device being added to an old raid set
23512347 * and the new device needs to be rebuilt - in which
23522348 * case the In_sync bit will /not/ be set and
2353- * recovery_cp must be MaxSector.
2349+ * resync_offset must be MaxSector.
23542350 * 3) This is/are a new device(s) being added to an old
23552351 * raid set during takeover to a higher raid level
23562352 * to provide capacity for redundancy or during reshape
@@ -2395,8 +2391,8 @@ static int super_init_validation(struct raid_set *rs, struct md_rdev *rdev)
23952391 new_devs > 1 ? "s" : "" );
23962392 return - EINVAL ;
23972393 } else if (!test_bit (__CTR_FLAG_REBUILD , & rs -> ctr_flags ) && rs_is_recovering (rs )) {
2398- DMERR ("'rebuild' specified while raid set is not in-sync (recovery_cp =%llu)" ,
2399- (unsigned long long ) mddev -> recovery_cp );
2394+ DMERR ("'rebuild' specified while raid set is not in-sync (resync_offset =%llu)" ,
2395+ (unsigned long long ) mddev -> resync_offset );
24002396 return - EINVAL ;
24012397 } else if (rs_is_reshaping (rs )) {
24022398 DMERR ("'rebuild' specified while raid set is being reshaped (reshape_position=%llu)" ,
@@ -2701,11 +2697,11 @@ static int rs_adjust_data_offsets(struct raid_set *rs)
27012697 }
27022698out :
27032699 /*
2704- * Raise recovery_cp in case data_offset != 0 to
2700+ * Raise resync_offset in case data_offset != 0 to
27052701 * avoid false recovery positives in the constructor.
27062702 */
2707- if (rs -> md .recovery_cp < rs -> md .dev_sectors )
2708- rs -> md .recovery_cp += rs -> dev [0 ].rdev .data_offset ;
2703+ if (rs -> md .resync_offset < rs -> md .dev_sectors )
2704+ rs -> md .resync_offset += rs -> dev [0 ].rdev .data_offset ;
27092705
27102706 /* Adjust data offsets on all rdevs but on any raid4/5/6 journal device */
27112707 rdev_for_each (rdev , & rs -> md ) {
@@ -2760,15 +2756,15 @@ static int rs_setup_takeover(struct raid_set *rs)
27602756 }
27612757
27622758 clear_bit (MD_ARRAY_FIRST_USE , & mddev -> flags );
2763- mddev -> recovery_cp = MaxSector ;
2759+ mddev -> resync_offset = MaxSector ;
27642760
27652761 while (d -- ) {
27662762 rdev = & rs -> dev [d ].rdev ;
27672763
27682764 if (test_bit (d , (void * ) rs -> rebuild_disks )) {
27692765 clear_bit (In_sync , & rdev -> flags );
27702766 clear_bit (Faulty , & rdev -> flags );
2771- mddev -> recovery_cp = rdev -> recovery_offset = 0 ;
2767+ mddev -> resync_offset = rdev -> recovery_offset = 0 ;
27722768 /* Bitmap has to be created when we do an "up" takeover */
27732769 set_bit (MD_ARRAY_FIRST_USE , & mddev -> flags );
27742770 }
@@ -3226,7 +3222,7 @@ static int raid_ctr(struct dm_target *ti, unsigned int argc, char **argv)
32263222 if (r )
32273223 goto bad ;
32283224
3229- rs_setup_recovery (rs , rs -> md .recovery_cp < rs -> md .dev_sectors ? rs -> md .recovery_cp : rs -> md .dev_sectors );
3225+ rs_setup_recovery (rs , rs -> md .resync_offset < rs -> md .dev_sectors ? rs -> md .resync_offset : rs -> md .dev_sectors );
32303226 } else {
32313227 /* This is no size change or it is shrinking, update size and record in superblocks */
32323228 r = rs_set_dev_and_array_sectors (rs , rs -> ti -> len , false);
@@ -3450,7 +3446,7 @@ static sector_t rs_get_progress(struct raid_set *rs, unsigned long recovery,
34503446
34513447 } else {
34523448 if (state == st_idle && !test_bit (MD_RECOVERY_INTR , & recovery ))
3453- r = mddev -> recovery_cp ;
3449+ r = mddev -> resync_offset ;
34543450 else
34553451 r = mddev -> curr_resync_completed ;
34563452
@@ -4078,9 +4074,9 @@ static int raid_preresume(struct dm_target *ti)
40784074 }
40794075
40804076 /* Check for any resize/reshape on @rs and adjust/initiate */
4081- if (mddev -> recovery_cp && mddev -> recovery_cp < MaxSector ) {
4077+ if (mddev -> resync_offset && mddev -> resync_offset < MaxSector ) {
40824078 set_bit (MD_RECOVERY_REQUESTED , & mddev -> recovery );
4083- mddev -> resync_min = mddev -> recovery_cp ;
4079+ mddev -> resync_min = mddev -> resync_offset ;
40844080 if (test_bit (RT_FLAG_RS_GROW , & rs -> runtime_flags ))
40854081 mddev -> resync_max_sectors = mddev -> dev_sectors ;
40864082 }
0 commit comments