NeilBrown: Incremental: be more relaxed about member arrays not completely assembling.

Martin F. Krafft madduck at alioth.debian.org
Thu May 7 12:11:37 UTC 2009


Module: mdadm
Branch: debian/experimental
Commit: 03b7f6c6bd3ede46b0f21b82032fe6746084db48
URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git;a=commit;h=03b7f6c6bd3ede46b0f21b82032fe6746084db48

Author: NeilBrown <neilb at suse.de>
Date:   Tue Apr  7 17:49:05 2009 +1000

Incremental: be more relaxed about member arrays not completely assembling.

During incremental assembly, if the member array doesn't assemble
properly (yet), that isn't an error.

Signed-off-by: NeilBrown <neilb at suse.de>

---

 Incremental.c |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/Incremental.c b/Incremental.c
index b1cee23..1e74da6 100644
--- a/Incremental.c
+++ b/Incremental.c
@@ -402,8 +402,14 @@ int Incremental(char *devname, int verbose, int runstop,
 		close(mdfd);
 		if (runstop < 0)
 			return 0; /* don't try to assemble */
-		return Incremental(chosen_name, verbose, runstop,
-				   NULL, homehost, autof);
+		rv = Incremental(chosen_name, verbose, runstop,
+				 NULL, homehost, autof);
+		if (rv == 1)
+			/* Don't fail the whole -I if a subarray didn't
+			 * have enough devices to start yet
+			 */
+			rv = 0;
+		return rv;
 	}
 	avail = NULL;
 	active_disks = count_active(st, mdfd, &avail, &info);
@@ -729,7 +735,6 @@ int Incremental_container(struct supertype *st, char *devname, int verbose,
 		char chosen_name[1024];
 		struct map_ent *mp;
 		struct mddev_ident_s *match = NULL;
-		int err;
 
 		mp = map_by_uuid(&map, ra->uuid);
 
@@ -789,10 +794,8 @@ int Incremental_container(struct supertype *st, char *devname, int verbose,
 			return 2;
 		}
 
-		err = assemble_container_content(st, mdfd, ra, runstop,
-						 chosen_name, verbose);
-		if (err)
-			return err;
+		assemble_container_content(st, mdfd, ra, runstop,
+					   chosen_name, verbose);
 	}
 	map_unlock(&map);
 	return 0;




More information about the pkg-mdadm-commits mailing list