On Monday November 3, [EMAIL PROTECTED] wrote:
> Package: mdadm
> Version: 2.6.7.1-1
> Followup-For: Bug #498505
> 
> 
> Problem still not fixed in 2.6.7.1-1. I start to reshape RAID5 array and
> reboot machine. After that, mdadm --assemble causes segmentation fault. While 
> machine was powered off, some drives was moved to other SATA connectors and
> devices in Linux was changed respectively (/dev/sdg was moved to /dev/sdd).

This bug is fixed by commit 56f8add211a840faaed325bd16483b55da544e93
which is scheduled to be in 2.6.8, but was not included in 2.6.7.1.

I include it below.

NeilBrown

>From 56f8add211a840faaed325bd16483b55da544e93 Mon Sep 17 00:00:00 2001
From: Neil Brown <[EMAIL PROTECTED]>
Date: Thu, 19 Jun 2008 16:30:36 +1000
Subject: [PATCH] Fix an error when assembling arrays that are in the middle of 
a reshape.

It is important that dup_super always returns an 'st' with the same
->ss and ->minor_version as the st that was passed.
This wasn't happening for 0.91 metadata (i.e. in the middle of a reshape).
---
 super0.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/super0.c b/super0.c
index 7e81482..8e4c568 100644
--- a/super0.c
+++ b/super0.c
@@ -849,12 +849,15 @@ static struct supertype *match_metadata_desc0(char *arg)
        st->sb = NULL;
        if (strcmp(arg, "0") == 0 ||
            strcmp(arg, "0.90") == 0 ||
-           strcmp(arg, "0.91") == 0 ||
            strcmp(arg, "default") == 0 ||
            strcmp(arg, "") == 0 /* no metadata */
                )
                return st;
 
+       st->minor_version = 91; /* reshape in progress */
+       if (strcmp(arg, "0.91") == 0) /* For dup_super support */
+               return st;
+
        st->minor_version = 9; /* flag for 'byte-swapped' */
        if (strcmp(arg, "0.swap")==0 ||
            strcmp(arg, "0.9") == 0) /* For dup_super support */
-- 
1.5.6.5




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to