From: Guoqing Jiang <gqjiang@suse.com>
To: Anthony DeRobertis <anthony@derobert.net>,
linux-raid@vger.kernel.org, 837964@bugs.debian.org
Subject: Re: 95a05b3 broke mdadm --add on my superblock 1.0 array
Date: Wed, 21 Sep 2016 02:45:10 -0400 [thread overview]
Message-ID: <57E22C76.6040600@suse.com> (raw)
In-Reply-To: <1931152f-f5bc-bc1f-76a8-91921ffc1bed@derobert.net>
On 09/20/2016 02:31 PM, Anthony DeRobertis wrote:
> Sorry for the amount of emails I'm sending, but I noticed something
> that's probably important. I'm also appending some gdb log from
> tracing through the function (trying to answer why it's doing cluster
> mode stuff at all).
>
> While tracing through, I noticed that *before* the write-bitmap loop,
> mdadm -E considers the superblock valid. That agrees with what I saw
> from strace, I suppose. To my first glance, it figures out how much to
> write by calling this function:
>
> static unsigned int calc_bitmap_size(bitmap_super_t *bms, unsigned int
> boundary)
> {
> unsigned long long bits, bytes;
>
> bits = __le64_to_cpu(bms->sync_size) /
> (__le32_to_cpu(bms->chunksize)>>9);
> bytes = (bits+7) >> 3;
> bytes += sizeof(bitmap_super_t);
> bytes = ROUND_UP(bytes, boundary);
>
> return bytes;
> }
>
> That code looked familiar, and I figured out where—it's also in
> 95a05b37e8eb2bc0803b1a0298fce6adc60eff16, the commit that I found
> originally broke it. But that commit is making a change to it: it
> changed the ROUND_UP line from 512 to 4096 (and from the gdb trace,
> boundary==4096).
>
> I tested changing that line to "bytes = ROUND_UP(bytes, 512);", and it
> works. Adds the new disk to the array and produces no warnings or errors.
I think it is is a coincidence that above change works, 4a3d29e commit made
the change but it didn't change the logic at all. Also seems the problem
is not
related to md-cluster code as your gdb debug shows it run into below part
because the version is 4.
/* no need to change bms->nodes for other bitmap types */
Thanks,
Guoqing
next prev parent reply other threads:[~2016-09-21 6:45 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-19 16:32 Bug#837964: 95a05b3 broke mdadm --add on my superblock 1.0 array Anthony DeRobertis
2016-09-20 5:38 ` Guoqing Jiang
2016-09-20 7:02 ` Anthony DeRobertis
2016-09-20 9:36 ` Guoqing Jiang
2016-09-20 17:12 ` Anthony DeRobertis
2016-09-21 6:40 ` Guoqing Jiang
2016-09-20 17:52 ` Anthony DeRobertis
2016-09-20 18:31 ` Anthony DeRobertis
2016-09-21 6:45 ` Guoqing Jiang [this message]
2016-09-22 2:40 ` Guoqing Jiang
2016-09-22 16:53 ` Anthony DeRobertis
2016-10-06 1:26 ` Bug#837964: " NeilBrown
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=57E22C76.6040600@suse.com \
--to=gqjiang@suse.com \
--cc=837964@bugs.debian.org \
--cc=anthony@derobert.net \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.