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