[arch-commits] Commit in linux/trunk (3 files)

Thomas Bächler thomas at archlinux.org
Mon Nov 7 17:31:24 EST 2011


    Date: Monday, November 7, 2011 @ 17:31:23
  Author: thomas
Revision: 142289

upgpkg: linux 3.1-4

Fix FS#26767

Added:
  linux/trunk/md-raid10-fix-bug-when-activating-a-hot-spare.patch
Modified:
  linux/trunk/PKGBUILD
  linux/trunk/linux.install

-----------------------------------------------------+
 PKGBUILD                                            |   13 ++++-
 linux.install                                       |    2 
 md-raid10-fix-bug-when-activating-a-hot-spare.patch |   40 ++++++++++++++++++
 3 files changed, 51 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-11-07 21:16:38 UTC (rev 142288)
+++ PKGBUILD	2011-11-07 22:31:23 UTC (rev 142289)
@@ -8,7 +8,7 @@
 _kernelname=${pkgname#linux}
 _basekernel=3.1
 pkgver=${_basekernel}
-pkgrel=3
+pkgrel=4
 arch=('i686' 'x86_64')
 url="http://www.kernel.org/"
 license=('GPL2')
@@ -25,7 +25,8 @@
         'i915-fix-incorrect-error-message.patch'
         'iwlagn-fix-NULL-pointer-dereference.patch'
         'dib0700-fix.patch'
-        'usb-add-reset-resume-quirk-for-several-webcams.patch')
+        'usb-add-reset-resume-quirk-for-several-webcams.patch'
+        'md-raid10-fix-bug-when-activating-a-hot-spare.patch')
 md5sums=('edbdc798f23ae0f8045c82f6fa22c536'
          'b88bbe3ed780441dbe1e385f4beae1e4'
          '08774980ad31da185e7f7379596b9001'
@@ -35,7 +36,8 @@
          'a50c9076012cb2dda49952dc6ec3e9c1'
          '61a6be40e8e1e9eae5f23f241e7a0779'
          '442334d777475e2a37db92d199672a28'
-         '52d41fa61e80277ace2b994412a0c856')
+         '52d41fa61e80277ace2b994412a0c856'
+         'de12ec5c342f945a95b2f12c2b85e6bf')
 
 build() {
   cd "${srcdir}/linux-${_basekernel}"
@@ -75,6 +77,11 @@
   # FS#26528
   patch -Np1 -i "${srcdir}/usb-add-reset-resume-quirk-for-several-webcams.patch"
 
+  # Fix RAID10 hot spare activation (critical)
+  # https://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git;a=blob_plain;f=queue-3.1/md-raid10-fix-bug-when-activating-a-hot-spare.patch;h=880849db5b7089b523f72c4d67a473e5330037fc;hb=HEAD
+  # FS#26767
+  patch -Np1 -i "${srcdir}/md-raid10-fix-bug-when-activating-a-hot-spare.patch"
+
   # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
   # remove this when a Kconfig knob is made available by upstream
   # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)

Modified: linux.install
===================================================================
--- linux.install	2011-11-07 21:16:38 UTC (rev 142288)
+++ linux.install	2011-11-07 22:31:23 UTC (rev 142289)
@@ -2,7 +2,7 @@
 # arg 2:  the old package version
 
 KERNEL_NAME=
-KERNEL_VERSION=3.1.0-3-ARCH
+KERNEL_VERSION=3.1.0-4-ARCH
 
 post_install () {
   # updating module dependencies

Added: md-raid10-fix-bug-when-activating-a-hot-spare.patch
===================================================================
--- md-raid10-fix-bug-when-activating-a-hot-spare.patch	                        (rev 0)
+++ md-raid10-fix-bug-when-activating-a-hot-spare.patch	2011-11-07 22:31:23 UTC (rev 142289)
@@ -0,0 +1,40 @@
+From 7fcc7c8acf0fba44d19a713207af7e58267c1179 Mon Sep 17 00:00:00 2001
+From: NeilBrown <neilb at suse.de>
+Date: Mon, 31 Oct 2011 12:59:44 +1100
+Subject: md/raid10:  Fix bug when activating a hot-spare.
+
+From: NeilBrown <neilb at suse.de>
+
+commit 7fcc7c8acf0fba44d19a713207af7e58267c1179 upstream.
+
+This is a fairly serious bug in RAID10.
+
+When a RAID10 array is degraded and a hot-spare is activated, the
+spare does not take up the empty slot, but rather replaces the first
+working device.
+This is likely to make the array non-functional.   It would normally
+be possible to recover the data, but that would need care and is not
+guaranteed.
+
+This bug was introduced in commit
+   2bb77736ae5dca0a189829fbb7379d43364a9dac
+which first appeared in 3.1.
+
+Signed-off-by: NeilBrown <neilb at suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+---
+ drivers/md/raid10.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/md/raid10.c
++++ b/drivers/md/raid10.c
+@@ -1337,7 +1337,7 @@ static int raid10_add_disk(mddev_t *mdde
+ 		mirror_info_t *p = &conf->mirrors[mirror];
+ 		if (p->recovery_disabled == mddev->recovery_disabled)
+ 			continue;
+-		if (!p->rdev)
++		if (p->rdev)
+ 			continue;
+ 
+ 		disk_stack_limits(mddev->gendisk, rdev->bdev,



More information about the arch-commits mailing list