linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.de>
To: Lukasz Dorau <lukasz.dorau@intel.com>
Cc: linux-raid@vger.kernel.org, dan.j.williams@intel.com,
	marcin.labun@intel.com, ed.ciechanowski@intel.com
Subject: Re: [PATCH] imsm: fix: correct checking newly missing disks
Date: Tue, 15 Nov 2011 15:43:50 +1100	[thread overview]
Message-ID: <20111115154350.19ae1de2@notabene.brown> (raw)
In-Reply-To: <20111114145252.21148.62905.stgit@gklab-128-085.igk.intel.com>

[-- Attachment #1: Type: text/plain, Size: 1435 bytes --]

On Mon, 14 Nov 2011 15:52:52 +0100 Lukasz Dorau <lukasz.dorau@intel.com>
wrote:

> The problem occurs when RAID10 array under rebuild
> (after one disk fails) is assembled incrementally.
> Mdadm tries to start array just after adding the third disk
> and the volume is assembled incorrectly (in degraded state).
> 
> The cause is that container_enough depends on
> newly missing disks which are checked incorrectly now.
> They should be checked using always the first map.
> 
> Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
> ---
>  super-intel.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/super-intel.c b/super-intel.c
> index 4ebee78..511a32a 100644
> --- a/super-intel.c
> +++ b/super-intel.c
> @@ -2529,13 +2529,13 @@ static void getinfo_super_imsm(struct supertype *st, struct mdinfo *info, char *
>  
>  		failed = imsm_count_failed(super, dev);
>  		state = imsm_check_degraded(super, dev, failed);
> -		map = get_imsm_map(dev, dev->vol.migr_state);
> +		map = get_imsm_map(dev, 0);
>  
>  		/* any newly missing disks?
>  		 * (catches single-degraded vs double-degraded)
>  		 */
>  		for (j = 0; j < map->num_members; j++) {
> -			__u32 ord = get_imsm_ord_tbl_ent(dev, i, -1);
> +			__u32 ord = get_imsm_ord_tbl_ent(dev, i, 0);
>  			__u32 idx = ord_to_idx(ord);
>  
>  			if (!(ord & IMSM_ORD_REBUILD) &&

Applied,
thanks,

NeilBrown


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

  reply	other threads:[~2011-11-15  4:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-14 14:52 [PATCH] imsm: fix: correct checking newly missing disks Lukasz Dorau
2011-11-15  4:43 ` NeilBrown [this message]
2011-11-30  2:26 ` Dan Williams
2011-12-01 14:23   ` Dorau, Lukasz
2011-12-06  1:10     ` NeilBrown
2011-12-06  2:19       ` Williams, Dan J
2011-12-06  2:22         ` NeilBrown
2011-12-01 14:40   ` Dorau, Lukasz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111115154350.19ae1de2@notabene.brown \
    --to=neilb@suse.de \
    --cc=dan.j.williams@intel.com \
    --cc=ed.ciechanowski@intel.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=lukasz.dorau@intel.com \
    --cc=marcin.labun@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).