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);
openSUSE Build Service is sponsored by