From: "Mario 'BitKoenig' Holbe" <Mario.Holbe@TU-Ilmenau.DE>
To: Neil Brown <neilb@suse.de>
Cc: linux-raid@vger.kernel.org
Subject: Re: Incorrect in-kernel bitmap on raid10
Date: Fri, 1 May 2009 19:55:24 +0200 [thread overview]
Message-ID: <20090501175524.GA8163@darkside.22.kls.lan> (raw)
In-Reply-To: <18938.23135.726382.733302@notabene.brown>
[-- Attachment #1.1: Type: text/plain, Size: 1287 bytes --]
On Fri, May 01, 2009 at 12:11:43PM +1000, Neil Brown wrote:
> There some other places
> where are are overflowing on a shift. One of those (in
> bitmap_dirty_bits) can cause the problem you see.
> This patch should fix it. Please confirm.
Together with the small syntax-fix attached this patch fixes the
allocation of half of the available pages only. Now, all pages are
allocated when I set all bits and they all get cleaned in-kernel as well
as on-disk.
However, can you confirm that the bitmap is really used in raid10
resync? I removed half of the disks (a correctly removable subset, of
course :)), copied 100G to the degraded array, got about 7k bit set in
the bitmap, (re-)added the removed devices (mdadm correctly states
re-add as well), but the resync looks *very* sequential.
Moreover: I stopped and re-assembled the array with about 2k bit left
set and the resync starts from the beginning, I can see no skip to the
previous position in the resync process.
I'll try to watch this and will trigger you again when I have more
stable evidence, but perhaps you have some faster test-cases, I have to
wait for at least 5 hours now :)
regards
Mario
--
Singing is the lowest form of communication.
-- Homer J. Simpson
[-- Attachment #1.2: linux-source-2.6.28+bitmap3.patch --]
[-- Type: text/x-diff, Size: 392 bytes --]
diff -urN a/drivers/md/bitmap.c b/drivers/md/bitmap.c
--- a/drivers/md/bitmap.c 2009-05-01 12:50:48.463877165 +0200
+++ b/drivers/md/bitmap.c 2009-05-01 12:55:56.185432118 +0200
@@ -1021,7 +1021,6 @@
bitmap_set_memory_bits(bitmap,
(sector_t)i << CHUNK_BLOCK_SHIFT(bitmap),
needed);
- );
bit_cnt++;
set_page_attr(bitmap, page, BITMAP_PAGE_CLEAN);
}
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 481 bytes --]
next prev parent reply other threads:[~2009-05-01 17:55 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-18 18:15 Incorrect in-kernel bitmap on raid10 Mario 'BitKoenig' Holbe
2009-04-19 6:24 ` Neil Brown
2009-04-19 22:55 ` Mario 'BitKoenig' Holbe
2009-04-19 23:27 ` Neil Brown
2009-04-20 0:13 ` Race condition in write_sb_page? (was: Re: Incorrect in-kernel bitmap on raid10) Mario 'BitKoenig' Holbe
2009-04-20 1:57 ` NeilBrown
2009-04-20 8:03 ` Race condition in write_sb_page? Mario 'BitKoenig' Holbe
2009-04-22 18:45 ` Incorrect in-kernel bitmap on raid10 Mario 'BitKoenig' Holbe
2009-04-28 14:05 ` Mario 'BitKoenig' Holbe
2009-05-01 2:11 ` Neil Brown
2009-05-01 17:55 ` Mario 'BitKoenig' Holbe [this message]
2009-05-01 21:36 ` NeilBrown
2009-05-02 19:52 ` Mario 'BitKoenig' Holbe
2009-05-02 22:41 ` NeilBrown
2009-05-03 13:22 ` Mario 'BitKoenig' Holbe
2009-05-07 20:25 ` Mario 'BitKoenig' Holbe
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=20090501175524.GA8163@darkside.22.kls.lan \
--to=mario.holbe@tu-ilmenau.de \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@suse.de \
/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.