File 0004-Assemble-really-don-t-assemble-IMSM-array-without-OR.patch of Package mdadm
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.
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(-)
--- a/Assemble.c
+++ b/Assemble.c
@@ -245,7 +245,9 @@ static int select_devices(struct mddev_d
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);
--- a/Incremental.c
+++ b/Incremental.c
@@ -206,7 +206,7 @@ int Incremental(struct mddev_dev *devlis
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);