On Sunday January 14, [EMAIL PROTECTED] wrote:
> On 13 Jan 2007, [EMAIL PROTECTED] uttered the following:
> > mdadm-2.6 bug, I fear. I haven't tracked it down yet but will look
> > shortly: I can't afford to not run mdadm --monitor... odd, that
> > code hasn't changed during 2.6 development.
> 
> Whoo! Compile Monitor.c without optimization and the problem goes away.
> 
> Hunting: maybe it's a compiler bug (anyone not using GCC 4.1.1 seeing
> this?), maybe mdadm is tripping undefined behaviour somewhere...

Probably....

A quick look suggests that the following patch might make a
difference, but there is more to it than that.  I think there are
subtle differences due to the use of version-1 superblocks.  That
might be just another one-line change, but I want to make sure first.

Thanks,
NeilBrown



### Diffstat output
 ./Monitor.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff .prev/Monitor.c ./Monitor.c
--- .prev/Monitor.c     2006-12-21 17:15:55.000000000 +1100
+++ ./Monitor.c 2007-01-15 08:17:30.000000000 +1100
@@ -383,7 +383,7 @@ int Monitor(mddev_dev_t devlist,
                                                )
                                                alert("SpareActive", dev, dv, 
mailaddr, mailfrom, alert_cmd, dosyslog);
                                }
-                               st->devstate[i] = disc.state;
+                               st->devstate[i] = newstate;
                                st->devid[i] = makedev(disc.major, disc.minor);
                        }
                        st->active = array.active_disks;
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to