File 0009-IMSM-move-validate_container_imsm-to-be-included-in-.patch of Package mdadm.5365

From d31ad6439e2746d6d16d2e6eac771b138e5428c9 Mon Sep 17 00:00:00 2001
From: Pawel Baldysiak <pawel.baldysiak@intel.com>
Date: Fri, 18 Jul 2014 17:01:27 +0200
Subject: [PATCH 015/359] IMSM: move "validate_container_imsm" to be included
 in mdassemble
References: bsc#1081910

Commit 0c21b485e4beb7bcfe631412a231f7c1ea1067bc added new
function in imsm superswitch. This function should be
included in mdassemble.

Signed-off-by: Pawel Baldysiak <pawel.baldysiak@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Coly Li <colyli@suse.de>

---
 super-intel.c | 82 +++++++++++++++++++++++++++++------------------------------
 1 file changed, 41 insertions(+), 41 deletions(-)

diff --git a/super-intel.c b/super-intel.c
index b4efa72..e28ac7d 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -9048,6 +9048,47 @@ int open_backup_targets(struct mdinfo *info, int raid_disks, int *raid_fds,
 	return 0;
 }
 
+/*******************************************************************************
+ * Function:	validate_container_imsm
+ * Description: This routine validates container after assemble,
+ *		eg. if devices in container are under the same controller.
+ *
+ * Parameters:
+ *	info	: linked list with info about devices used in array
+ * Returns:
+ *	1 : HBA mismatch
+ *	0 : Success
+ ******************************************************************************/
+int validate_container_imsm(struct mdinfo *info)
+{
+	if (!check_env("IMSM_NO_PLATFORM")) {
+		struct sys_dev *idev;
+		struct mdinfo *dev;
+		char *hba_path = NULL;
+		char *dev_path = devt_to_devpath(makedev(info->disk.major,
+										info->disk.minor));
+
+		for (idev = find_intel_devices(); idev; idev = idev->next) {
+			if (strstr(dev_path, idev->path)) {
+				hba_path = idev->path;
+				break;
+			}
+		}
+		free(dev_path);
+
+		if (hba_path) {
+			for (dev = info->next; dev; dev = dev->next) {
+				if (!devt_attached_to_hba(makedev(dev->disk.major,
+						dev->disk.minor), hba_path)) {
+					pr_err("WARNING - IMSM container assembled with disks under different HBAs!\n"
+						"       This operation is not supported and can lead to data loss.\n");
+					return 1;
+				}
+			}
+		}
+	}
+	return 0;
+}
 #ifndef MDASSEMBLE
 /*******************************************************************************
  * Function:	init_migr_record_imsm
@@ -10524,47 +10565,6 @@ abort:
 	return ret_val;
 }
 
-/*******************************************************************************
- * Function:	validate_container_imsm
- * Description: This routine validates container after assemble,
- *		eg. if devices in container are under the same controller.
- *
- * Parameters:
- *	info	: linked list with info about devices used in array
- * Returns:
- *	1 : HBA mismatch
- *	0 : Success
- ******************************************************************************/
-int validate_container_imsm(struct mdinfo *info)
-{
-	if (!check_env("IMSM_NO_PLATFORM")) {
-		struct sys_dev *idev;
-		struct mdinfo *dev;
-		char *hba_path = NULL;
-		char *dev_path = devt_to_devpath(makedev(info->disk.major,
-										info->disk.minor));
-
-		for (idev = find_intel_devices(); idev; idev = idev->next) {
-			if (strstr(dev_path, idev->path)) {
-				hba_path = idev->path;
-				break;
-			}
-		}
-		free(dev_path);
-
-		if (hba_path) {
-			for (dev = info->next; dev; dev = dev->next) {
-				if (!devt_attached_to_hba(makedev(dev->disk.major,
-						dev->disk.minor), hba_path)) {
-					pr_err("WARNING - IMSM container assembled with disks under different HBAs!\n"
-						"       This operation is not supported and can lead to data loss.\n");
-					return 1;
-				}
-			}
-		}
-	}
-	return 0;
-}
 #endif /* MDASSEMBLE */
 
 struct superswitch super_imsm = {
-- 
2.16.1

openSUSE Build Service is sponsored by