Re: PROBLEM: md/raid5 bug by commit 415e72d03

NeilBrown
2011-07-14T06:52:44Z

On Fri, 8 Jul 2011 13:58:39 +0800 Qin Dehua <qindehua@gmail.com> wrote:

> By bisecting, commit 415e72d03(md/raid5: Allow recovered part of
> partially recovered devices to be in-sync) was found as the cause of
> follow problem:
> * md1_raid5 or md1_raid6 process will hang(99% CPU usage) after
> repeatedly remove disk from then re-add disk to raid5 or raid6（there
> is also a dd process write to the raid continuously).
>
> Hardware platform is IOP 341 XScale processor(did not test on other
> platforms）. The problem can be reproduced with this script:
>
> { while true; do dd if=/dev/zero of=/dev/md1 bs=1M count=90000 >
> /dev/null 2>/dev/null;done; } &
>
> while true;do
> mdadm /dev/md1 -f /dev/sda /dev/sdb
> sleep 1
> mdadm /dev/md1 -r /dev/sda /dev/sdb
> sleep 1
> mdadm /dev/md1 -a /dev/sda /dev/sdb
> sleep 6
> done

I cannot reproduce this on x86_64.

Can you find out more about the hanging process? Maybe
cat /proc/PROCESS-ID/stack

a few times and see where it is spending its time??

NeilBrown