Bug#446323: mdadm: recovery in infinite loop

Neil Brown neilb at suse.de
Fri Oct 12 03:24:51 UTC 2007


On Thursday October 11, szybalski at gmail.com wrote:
> Package: mdadm
> Version: 2.5.6-9
> Severity: normal
> 
> Hello,
> I am trying to setup raid1 on my pc.
> I have 2 identical drives. 270+gb. each with 3 partitions. 
> 30gb hdb1   -> md0
> 250gb hdb2   ->md2
> 4gb swap hdb5  ->md4
> 
> Initially my raid had only one drive. I have added the second one with 
> mdadm --add /dev/md2 /dev/hda1 then 2 then 4
> 
> It started doing recovery for drives. IT finished for md0,md4 but for
> md2 it is in infinite loop. IT goes to 15 % and starts again

Very weird....

This is a kernel problem rather than an 'mdadm' problem, but anyway...

Th recovery process thinks that it is either getting an error or being
interrupted. 

If it was getting a write error to the new drive, that drive would be
marked faulty, so that isn't happening.
If it was getting a read error from the good drive, it would say
   raid1: md2: unrecoverable I/O read error fro block XXXXXX
and that isn't happening.. So it cannot be an IO error.

There are three ways to interrupt the resync.

 1/ Send a signal to the thread.  That would result in the message
        md: md_do_sync() got signal ... exiting
 2/ Stop the array (mdadm -S).  If you did that, the array would stop.
 3/ Write 'idle' to /sys/block/md2/md/sync_action

Given the logs that you posted, the last one is the only option I can
think of.  By why would you be doing that.
It could be done with
    /usr/share/mdadm/checkarray -x all
but I cannot see that being done either.

So I am confused.

Have you tried rebooting to see if that helps?

NeilBrown





More information about the pkg-mdadm-devel mailing list