From 2d6de14b7404404e92eaa5551f2a77761260e34e Mon Sep 17 00:00:00 2001 From: Doug Ledford Date: Thu, 8 Apr 2010 20:57:35 +0000 Subject: [PATCH] - Updated container patch that also enables mdadm -IRs for imsm devices --- mdadm-3.1.2-container.patch | 28 +++++++++++++++++++++++----- mdadm.spec | 5 ++++- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/mdadm-3.1.2-container.patch b/mdadm-3.1.2-container.patch index 926e265..048c4cb 100644 --- a/mdadm-3.1.2-container.patch +++ b/mdadm-3.1.2-container.patch @@ -1,10 +1,10 @@ -commit 3f45610e6b9e2419f09f7f1b415170b6128d91ad +commit b775cd39c498b0db4ca9f94bcc8615f59e534c7d Author: Doug Ledford -Date: Thu Apr 8 12:39:03 2010 -0400 +Date: Thu Apr 8 16:56:02 2010 -0400 Make Incremental container assembly behave like native array assembly - Signed-off-by: Doug Ledford :4000 + Signed-off-by: Doug Ledford diff --git a/Assemble.c b/Assemble.c index 1504f1f..d059155 100644 @@ -24,7 +24,7 @@ index 1504f1f..d059155 100644 switch(content->array.level) { diff --git a/Incremental.c b/Incremental.c -index d32a8e5..2a2df82 100644 +index d32a8e5..9d77d4d 100644 --- a/Incremental.c +++ b/Incremental.c @@ -424,20 +424,21 @@ int Incremental(char *devname, int verbose, int runstop, @@ -45,7 +45,7 @@ index d32a8e5..2a2df82 100644 - if (rv == 1) - /* Don't fail the whole -I if a subarray didn't - * have enough devices to start yet -+ if (runstop == 1 || ++ if (runstop > 0 || + info.array.working_disks == info.array.raid_disks) + /* The return value of our container assembly doesn't + * depend on whether or not subarrays assembled @@ -60,6 +60,24 @@ index d32a8e5..2a2df82 100644 } avail = NULL; active_disks = count_active(st, mdfd, &avail, &info); +@@ -666,6 +667,17 @@ int IncrementalScan(int verbose) + + if (mdfd < 0) + continue; ++ if (strcmp("imsm",me->metadata) == 0) { ++ /* ++ * Just do a blind incremental assembly on the ++ * container. If there's anything to be started, ++ * we will, if it's already started, we'll silently ++ * exit, if there's a problem, incremental will ++ * catch it. ++ */ ++ Incremental(me->path, verbose, 1, NULL, "", 0, 1); ++ continue; ++ } + if (ioctl(mdfd, GET_ARRAY_INFO, &array) == 0 || + errno != ENODEV) { + close(mdfd); diff --git a/super-intel.c b/super-intel.c index 999b970..7bcfcdb 100644 --- a/super-intel.c diff --git a/mdadm.spec b/mdadm.spec index 4beb590..ffddd98 100644 --- a/mdadm.spec +++ b/mdadm.spec @@ -1,7 +1,7 @@ Summary: The mdadm program controls Linux md devices (software RAID arrays) Name: mdadm Version: 3.1.2 -Release: 7%{?dist} +Release: 8%{?dist} Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}.tar.bz2 Source1: mdmonitor.init Source2: raid-check @@ -95,6 +95,9 @@ fi %attr(0700,root,root) %dir /var/run/mdadm %changelog +* Thu Apr 08 2010 Doug Ledford - 3.1.2-8 +- Updated container patch that also enables mdadm -IRs for imsm devices + * Tue Apr 06 2010 Doug Ledford - 3.1.2-7 - Fix up directory in mdmonitor init script so that we restart mdmon like we are supposed to