From: NeilBrown Date: Tue, 25 Feb 2014 04:04:16 +0000 (+1100) Subject: Assemble: change load_devices to return most_recent 'st' value. X-Git-Tag: mdadm-3.3.1~64 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56bbc588f7f0f3bdd3ec23f02109b427c1d3b8f1;p=thirdparty%2Fmdadm.git Assemble: change load_devices to return most_recent 'st' value. This means that st->ss->getinfo_super(st, content, NULL); clean = content->array.state & 1; will get an up-to-date value for 'clean'. This fix allows tests/03r5assem-failed to work. Signed-off-by: NeilBrown --- diff --git a/Assemble.c b/Assemble.c index 658df91d..05ace561 100644 --- a/Assemble.c +++ b/Assemble.c @@ -703,8 +703,12 @@ static int load_devices(struct devs *devices, char *devmap, if (devices[devcnt].i.disk.state == 6) { if (most_recent < 0 || devices[devcnt].i.events - > devices[most_recent].i.events) + > devices[most_recent].i.events) { + struct supertype *tmp = tst; + tst = st; + st = tmp; most_recent = devcnt; + } } tst->ss->free_super(tst); free(tst);