File 0242-Assemble-really-don-t-assemble-IMSM-array-without-OR.patch of Package mdadm.5365
From 8360760457860206e2719c069b30552e79018c59 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb@suse.com>
Date: Mon, 3 Aug 2015 16:06:51 +1000
Subject: [PATCH] Assemble: really don't assemble IMSM array without OROM.
References: bsc#939748 bsc#937363
Previous patch missed on case.
Also print more useful information when rejecting
a device with IMSM metadata.
Signed-off-by: NeilBrown <neilb@suse.com>
---
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);
--
2.16.1