linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.de>
To: "Williams, Dan J" <dan.j.williams@intel.com>
Cc: "Dorau, Lukasz" <lukasz.dorau@intel.com>,
	"linux-raid@vger.kernel.org" <linux-raid@vger.kernel.org>,
	"Labun, Marcin" <Marcin.Labun@intel.com>,
	"Ciechanowski, Ed" <ed.ciechanowski@intel.com>,
	"Kwolek, Adam" <adam.kwolek@intel.com>
Subject: Re: [PATCH] imsm: fix: correct checking newly missing disks
Date: Tue, 6 Dec 2011 13:22:07 +1100	[thread overview]
Message-ID: <20111206132207.34f86bb0@notabene.brown> (raw)
In-Reply-To: <CABE8wwuMGo4BD2117p4BYt1OvYYOiXmnm5YF0Z04srG9Dmw2zA@mail.gmail.com>

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

On Mon, 5 Dec 2011 18:19:09 -0800 "Williams, Dan J"
<dan.j.williams@intel.com> wrote:

> On Mon, Dec 5, 2011 at 5:10 PM, NeilBrown <neilb@suse.de> wrote:
> > On Thu, 1 Dec 2011 14:23:16 +0000 "Dorau, Lukasz" <lukasz.dorau@intel.com>
> > wrote:
> >> > > 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);
> >> >
> >> > This looks wrong.  I noticed this when looking over Przemyslaw's patch [1].
> >> >
> >> > map[0] always contains the destination state of the migration so the
> >> > most reliable source for looking for out of sync disks is map[1].
> >> >
> >>
> >> I am convinced that the patch is good.
> >> We are looking for information what was the state of array during migration (before it was stopped), so we have to use map[0].
> >> map[1] contains information about the state of array before migration, which we do not need.
> >>
> >> Regards,
> >> Lukasz
> >
> > Hi,
> >  do we have agreement on this?  Dan - do you stand by your original concern
> >  or have you seen the light :-)
> >
> > The patch is in, but I'd like to be sure it is right and to be honest I
> > haven't followed the dance of the maps too closely...
> 
> Lukasz is right.  We want to find out if starting the array with the
> current list of disks in the container would regress the state of the
> array recorded in the metadata.  map[0] should always record the best
> possible state of all the slots in the array if any of those have gone
> missing we don't want incremental assembly to proceed.
> 
> Sorry for the noise, my point was 'correct' in isolation but it missed
> that the context is looking for the most optimistic view of the disk.

Great - thanks for clearing that up.

NeilBrown

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

  reply	other threads:[~2011-12-06  2:22 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
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 [this message]
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=20111206132207.34f86bb0@notabene.brown \
    --to=neilb@suse.de \
    --cc=Marcin.Labun@intel.com \
    --cc=adam.kwolek@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=ed.ciechanowski@intel.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=lukasz.dorau@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).