[PATCH 2/2] imsm: FIX: Mark checkpoint and array state clean during reshape

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Array state has to be managed during reshape based on consistent flag.
To achieve this existing code will be reused. Currently existing code for
blocks_per_unit calculation can be removed
and existing code can be reused also.

Signed-off-by: Adam Kwolek <adam.kwolek@xxxxxxxxx>
---

 super-intel.c |   15 ++-------------
 1 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/super-intel.c b/super-intel.c
index c5e459f..c0bff98 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -5210,19 +5210,7 @@ static int imsm_set_array_state(struct active_array *a, int consistent)
 		 */
 		if (a->curr_action == reshape) {
 			/* still reshaping, maybe update curr_migr_unit */
-			long long blocks_per_unit = blocks_per_migr_unit(dev);
-			long long unit = a->last_checkpoint;
-			if (blocks_per_unit) {
-				unit /= blocks_per_unit;
-				if (unit >
-				    __le32_to_cpu(dev->vol.curr_migr_unit)) {
-					dev->vol.curr_migr_unit =
-						__cpu_to_le32(unit);
-					dev->vol.dirty = 0;
-					super->updates_pending++;
-				}
-			}
-			return 0;
+			goto mark_checkpoint;
 		} else {
 			if (a->last_checkpoint == 0 && a->prev_action == reshape) {
 				/* for some reason we aborted the reshape.
@@ -5299,6 +5287,7 @@ static int imsm_set_array_state(struct active_array *a, int consistent)
 		super->updates_pending++;
 	}
 
+mark_checkpoint:
 	/* check if we can update curr_migr_unit from resync_start, recovery_start */
 	blocks_per_unit = blocks_per_migr_unit(dev);
 	if (blocks_per_unit) {

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux