summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.com>2015-08-03 16:06:51 +1000
committerNeilBrown <neilb@suse.com>2015-08-03 16:06:51 +1000
commit8360760457860206e2719c069b30552e79018c59 (patch)
tree1481a193b9ccd3edc957792fd44e05caad15d294
parent187f157bf0b6903a1c72d969550af2dc4fb4fe9b (diff)
downloadmdadm-8360760457860206e2719c069b30552e79018c59.tar.gz
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 <neilb@suse.com>
-rw-r--r--Assemble.c4
-rw-r--r--Incremental.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/Assemble.c b/Assemble.c
index 06e122d..2925733 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 8857619..41876b9 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);