[PATCH 5/5] FIX: Do not configure and start, already started reshape

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

 



When Grow_continue() calls reshape_array(), reshape is configured
and it is started with array together.
We cannot start it again.

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

 Grow.c |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/Grow.c b/Grow.c
index a5041de..47b8809 100644
--- a/Grow.c
+++ b/Grow.c
@@ -1965,7 +1965,7 @@ started:
 		 * metadata, and for kernels before 2.6.38 we can
 		 * fail if we try.
 		 */
-	} else {
+	} else if (!restart) {
 		/* set them all just in case some old 'new_*' value
 		 * persists from some earlier problem.
 		 * We even set them when restarting in the middle.  They will
@@ -1995,13 +1995,18 @@ started:
 		}
 	}
 
-	err = start_reshape(sra, (info->reshape_active && !st->ss->external));
-	if (err) {
-		fprintf(stderr, Name ": Cannot start reshape for %s\n",
-			devname);
-		goto release;
-	}
-	if (restart)
+	/* if reshape is already started,
+	 * there is no need to do this again
+	 */
+	if (!restart) {
+		err = start_reshape(sra,
+				   (info->reshape_active && !st->ss->external));
+		if (err) {
+			fprintf(stderr, Name ": Cannot start reshape for %s\n",
+				devname);
+			goto release;
+		}
+	} else
 		sysfs_set_str(sra, NULL, "array_state", "active");
 
 	/* Now we just need to kick off the reshape and watch, while

--
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