diff --git a/Assemble.c b/Assemble.c index c78a1b1..9fbc53e 100644 --- a/Assemble.c +++ b/Assemble.c @@ -369,7 +369,9 @@ int Assemble(struct supertype *st, char *mddev, int mdfd, sparecnt=0; for (i=0; i< bestcnt ;i++) { int j = best[i]; - int event_margin = !force; + int event_margin = 1; /* always allow a difference of '1' + * like the kernel does + */ if (j < 0) continue; /* note: we ignore error flags in multipath arrays * as they don't make sense diff --git a/ChangeLog b/ChangeLog index 7f03ead..a83cb0b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,10 @@ Changes Prior to this release Thanks to Ross Vandegrift - --monitor now reports which device failed in a 'Fail' message This broke with 2.6 + - Improve chance of array starting properly after a crash. + mdadm was insisting the event numbers were identical, but this + isn't needed, and is a problem if the crash was while the metadata + was being updated. Changes Prior to 2.1 release - Fix assembling of raid10 array when devices are missing.