[arch-commits] Commit in linux/trunk (3 files)
Thomas Bächler
thomas at archlinux.org
Mon Nov 7 22:31:24 UTC 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