From: NeilBrown <neilb@suse.de>
To: "Williams, Dan J" <dan.j.williams@intel.com>
Cc: "Kwolek, Adam" <adam.kwolek@intel.com>,
"linux-raid@vger.kernel.org" <linux-raid@vger.kernel.org>,
"Ciechanowski, Ed" <ed.ciechanowski@intel.com>,
"Neubauer, Wojciech" <Wojciech.Neubauer@intel.com>
Subject: Something wrong with __prep_thunderdome in super-intel.c
Date: Tue, 22 Mar 2011 13:23:07 +1100 [thread overview]
Message-ID: <20110322132307.34e9bb3b@notabene.brown> (raw)
In-Reply-To: <905EDD02F158D948B186911EB64DB3D17A9910DD@irsmsx503.ger.corp.intel.com>
Hi Dan,
I think you were the original author of imsm_thunderdome and
__prep_thunderdome - yes?
I found a case (thank to the test suite) where it isn't working correctly,
If I have a container with 2 devices, and the second one is failed, then
imsm_thunderdome returns NULL.
__prep_thunderdome sees the first and adds it to the table of superblocks.
Then it sees the second notices the family_num and checksum are the same, and
so replaces the first with the second in the table.
Then in imsm_thunderdome, d->serial is full of 'nul', so disk_list_get
doesn't find anything so the super_table becomes empty and nothing works.
So it could be:
load_and_parse_mpb is wrong for putting the nul serial in there
__prep_thunderdome is wrong for thinking the two are equivalent
imsm_thunderdome is wrong for giving up when just one device isn't found
and I really don't know which.
You can easily reproduce with
./mdadm -CR /dev/md/imsm -e imsm -n 2 /dev/loop[01]
./mdadm -CR /dev/md/r1 -l1 -n2 /dev/md/imsm
./mdadm /dev/md/r1 -f /dev/loop1
./mdadm -E /dev/md/imsm
and notice that nothing gets printed.
If you fail loop0 instead, it works properly.
Thanks,
NeilBrown
next prev parent reply other threads:[~2011-03-22 2:23 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-14 14:09 [PATCH 0/3] UT and error case changes Adam Kwolek
2011-03-14 14:09 ` [PATCH 1/3] imsm: FIX: existing backup file fails unit tests Adam Kwolek
2011-03-14 14:09 ` [PATCH 2/3] External metadata has to be restored to initial state in error case Adam Kwolek
2011-03-14 14:09 ` [PATCH 3/3] imsm: Add metadata abort changes handler template Adam Kwolek
2011-03-14 21:53 ` [PATCH 0/3] UT and error case changes NeilBrown
2011-03-15 7:28 ` Kwolek, Adam
2011-03-18 2:07 ` NeilBrown
2011-03-22 2:23 ` NeilBrown [this message]
2011-03-25 2:40 ` Something wrong with __prep_thunderdome in super-intel.c Dan Williams
2011-03-25 8:43 ` Kwolek, Adam
2011-03-25 18:50 ` Dan Williams
2011-03-28 2:28 ` NeilBrown
2011-03-28 1:35 ` NeilBrown
2011-03-28 16:56 ` Dan Williams
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=20110322132307.34e9bb3b@notabene.brown \
--to=neilb@suse.de \
--cc=Wojciech.Neubauer@intel.com \
--cc=adam.kwolek@intel.com \
--cc=dan.j.williams@intel.com \
--cc=ed.ciechanowski@intel.com \
--cc=linux-raid@vger.kernel.org \
/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).