summaryrefslogtreecommitdiff
path: root/Incremental.c
diff options
context:
space:
mode:
Diffstat (limited to 'Incremental.c')
-rw-r--r--Incremental.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/Incremental.c b/Incremental.c
index 8e101d70..1615c4df 100644
--- a/Incremental.c
+++ b/Incremental.c
@@ -494,6 +494,14 @@ int Incremental(char *devname, struct context *c,
if (c->runstop > 0 || active_disks >= info.array.working_disks) {
struct mdinfo *dsk;
/* Let's try to start it */
+
+ if (info.reshape_active && !(info.reshape_active & RESHAPE_NO_BACKUP)) {
+ fprintf(stderr, Name
+ ": %s: This array is being reshaped and cannot be started\n"
+ " by --incremental. Please use --assemble\n",
+ chosen_name);
+ goto out;
+ }
if (match && match->bitmap_file) {
int bmfd = open(match->bitmap_file, O_RDWR);
if (bmfd < 0) {
@@ -1285,6 +1293,9 @@ int IncrementalScan(int verbose)
me->path, strerror(errno));
}
}
+ /* FIXME check for reshape_active and consider not
+ * starting array.
+ */
sra = sysfs_read(mdfd, 0, 0);
if (sra) {
if (sysfs_set_str(sra, NULL,