From 55a63e9bdf819a5d624d41111bd0fd23cdad7e3e Mon Sep 17 00:00:00 2001 From: Doug Ledford Date: Thu, 8 Apr 2010 21:35:28 +0000 Subject: [PATCH] - Slight fix on container patch --- mdadm-3.1.2-container-2.patch | 10 ++++++---- mdadm-3.1.2-container.patch | 28 +++++++++++++++++++++++----- mdadm.spec | 12 ++++++++++-- 3 files changed, 39 insertions(+), 11 deletions(-) diff --git a/mdadm-3.1.2-container-2.patch b/mdadm-3.1.2-container-2.patch index 5548944..971dee8 100644 --- a/mdadm-3.1.2-container-2.patch +++ b/mdadm-3.1.2-container-2.patch @@ -1,6 +1,6 @@ -commit 3e77dfbe97a30d97c42787b15e7a9c703fda0431 +commit e750ad9d6fbd4e6606681a9c81b9a99994255940 Author: Doug Ledford -Date: Thu Apr 8 17:10:08 2010 -0400 +Date: Thu Apr 8 17:34:47 2010 -0400 Don't even try to activate non-redundant array types unless all disks are present. This keeps arrays from getting marked as broken in @@ -9,10 +9,10 @@ Date: Thu Apr 8 17:10:08 2010 -0400 Signed-off-by: Doug Ledford diff --git a/Assemble.c b/Assemble.c -index d059155..9580066 100644 +index d059155..81178da 100644 --- a/Assemble.c +++ b/Assemble.c -@@ -1337,8 +1337,9 @@ int assemble_container_content(struct supertype *st, int mdfd, +@@ -1337,8 +1337,11 @@ int assemble_container_content(struct supertype *st, int mdfd, case LEVEL_LINEAR: case LEVEL_MULTIPATH: case 0: @@ -21,6 +21,8 @@ index d059155..9580066 100644 + if ((working + preexist) == content->array.raid_disks) + err = sysfs_set_str(content, NULL, + "array_state", "active"); ++ else ++ err = 1; break; default: err = sysfs_set_str(content, NULL, "array_state", 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..dc4d4bb 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: 9%{?dist} Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}.tar.bz2 Source1: mdmonitor.init Source2: raid-check @@ -17,6 +17,7 @@ Patch7: mdadm-3.1.2-decremental-2.patch Patch8: mdadm-3.1.2-decremental-3.patch Patch9: mdadm-3.1.2-powerpc-compile.patch Patch10: mdadm-3.1.2-container.patch +Patch11: mdadm-3.1.2-container-2.patch Patch20: mdadm-2.5.2-static.patch URL: http://www.kernel.org/pub/linux/utils/raid/mdadm/ License: GPLv2+ @@ -47,7 +48,8 @@ file can be used to help with some common tasks. %patch7 -p1 -b .decremental-2 %patch8 -p1 -b .decremental-3 %patch9 -p1 -b .powerpc -%patch10 -p1 -b .contrainer +%patch10 -p1 -b .container +%patch11 -p1 -b .container-2 %patch20 -p1 -b .static %build @@ -95,6 +97,12 @@ fi %attr(0700,root,root) %dir /var/run/mdadm %changelog +* Thu Apr 08 2010 Doug Ledford - 3.1.2-9 +- Slight fix on container patch + +* 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