From: NeilBrown Date: Mon, 3 Aug 2015 06:06:51 +0000 (+1000) Subject: Assemble: really don't assemble IMSM array without OROM. X-Git-Tag: mdadm-3.3.4~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8360760457860206e2719c069b30552e79018c59;p=thirdparty%2Fmdadm.git Assemble: really don't assemble IMSM array without OROM. Previous patch missed on case. Also print more useful information when rejecting a device with IMSM metadata. Signed-off-by: NeilBrown --- diff --git a/Assemble.c b/Assemble.c index 06e122df..29257330 100644 --- a/Assemble.c +++ b/Assemble.c @@ -250,7 +250,9 @@ static int select_devices(struct mddev_dev *devlist, pr_err("no recogniseable superblock on %s\n", devname); tmpdev->used = 2; - } else if (tst->ss->load_super(tst,dfd, NULL)) { + } else if ((tst->ignore_hw_compat = 0), + tst->ss->load_super(tst, dfd, + report_mismatch ? devname : NULL)) { if (report_mismatch) pr_err("no RAID superblock on %s\n", devname); diff --git a/Incremental.c b/Incremental.c index 88576197..41876b9e 100644 --- a/Incremental.c +++ b/Incremental.c @@ -205,7 +205,7 @@ int Incremental(struct mddev_dev *devlist, struct context *c, st->ignore_hw_compat = 0; if (st->ss->compare_super == NULL || - st->ss->load_super(st, dfd, NULL)) { + st->ss->load_super(st, dfd, c->verbose >= 0 ? devname : NULL)) { if (c->verbose >= 0) pr_err("no RAID superblock on %s.\n", devname);