From 8360760457860206e2719c069b30552e79018c59 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Mon, 3 Aug 2015 16:06:51 +1000 Subject: [PATCH] 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 --- Assemble.c | 4 +++- Incremental.c | 2 +- 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);