dcavalca / rpms / mdadm

Forked from rpms/mdadm 3 years ago
Clone

Blame SOURCES/Create-Remove-all-attemps-to-handle-md-driver-older-.patch

b7f731
From 5f4cc2392689528a9234fae1935cd442f7917738 Mon Sep 17 00:00:00 2001
b7f731
From: Jes Sorensen <Jes.Sorensen@gmail.com>
b7f731
Date: Wed, 5 Apr 2017 15:32:40 -0400
b7f731
Subject: [RHEL7.5 PATCH 058/169] Create: Remove all attemps to handle md
b7f731
 driver older than 0.90.03
b7f731
b7f731
More legacy code moved to the bit-bucket.
b7f731
b7f731
Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
b7f731
---
b7f731
 Create.c | 30 +++++-------------------------
b7f731
 1 file changed, 5 insertions(+), 25 deletions(-)
b7f731
b7f731
diff --git a/Create.c b/Create.c
b7f731
index 4f98c58..6ca0924 100644
b7f731
--- a/Create.c
b7f731
+++ b/Create.c
b7f731
@@ -97,7 +97,6 @@ int Create(struct supertype *st, char *mddev,
b7f731
 	int insert_point = subdevs * 2; /* where to insert a missing drive */
b7f731
 	int total_slots;
b7f731
 	int pass;
b7f731
-	int vers;
b7f731
 	int rv;
b7f731
 	int bitmap_fd;
b7f731
 	int have_container = 0;
b7f731
@@ -112,6 +111,7 @@ int Create(struct supertype *st, char *mddev,
b7f731
 	char chosen_name[1024];
b7f731
 	struct map_ent *map = NULL;
b7f731
 	unsigned long long newsize;
b7f731
+	mdu_array_info_t inf;
b7f731
 
b7f731
 	int major_num = BITMAP_MAJOR_HI;
b7f731
 	if (s->bitmap_file && strcmp(s->bitmap_file, "clustered") == 0) {
b7f731
@@ -150,7 +150,6 @@ int Create(struct supertype *st, char *mddev,
b7f731
 		/* If given a single device, it might be a container, and we can
b7f731
 		 * extract a device list from there
b7f731
 		 */
b7f731
-		mdu_array_info_t inf;
b7f731
 		int fd;
b7f731
 
b7f731
 		memset(&inf, 0, sizeof(inf));
b7f731
@@ -625,18 +624,11 @@ int Create(struct supertype *st, char *mddev,
b7f731
 	}
b7f731
 	mddev = chosen_name;
b7f731
 
b7f731
-	vers = md_get_version(mdfd);
b7f731
-	if (vers < 9000) {
b7f731
-		pr_err("Create requires md driver version 0.90.0 or later\n");
b7f731
+	memset(&inf, 0, sizeof(inf));
b7f731
+	md_get_array_info(mdfd, &inf);
b7f731
+	if (inf.working_disks != 0) {
b7f731
+		pr_err("another array by this name is already running.\n");
b7f731
 		goto abort_locked;
b7f731
-	} else {
b7f731
-		mdu_array_info_t inf;
b7f731
-		memset(&inf, 0, sizeof(inf));
b7f731
-		md_get_array_info(mdfd, &inf);
b7f731
-		if (inf.working_disks != 0) {
b7f731
-			pr_err("another array by this name is already running.\n");
b7f731
-			goto abort_locked;
b7f731
-		}
b7f731
 	}
b7f731
 
b7f731
 	/* Ok, lets try some ioctls */
b7f731
@@ -761,20 +753,8 @@ int Create(struct supertype *st, char *mddev,
b7f731
 	 * to stop another mdadm from finding and using those devices.
b7f731
 	 */
b7f731
 
b7f731
-	if (s->bitmap_file && vers < 9003) {
b7f731
-		major_num = BITMAP_MAJOR_HOSTENDIAN;
b7f731
-#ifdef __BIG_ENDIAN
b7f731
-		pr_err("Warning - bitmaps created on this kernel are not portable\n"
b7f731
-			"  between different architectured.  Consider upgrading the Linux kernel.\n");
b7f731
-#endif
b7f731
-	}
b7f731
-
b7f731
 	if (s->bitmap_file && (strcmp(s->bitmap_file, "internal") == 0 ||
b7f731
 			       strcmp(s->bitmap_file, "clustered") == 0)) {
b7f731
-		if ((vers % 100) < 2) {
b7f731
-			pr_err("internal bitmaps not supported by this kernel.\n");
b7f731
-			goto abort_locked;
b7f731
-		}
b7f731
 		if (!st->ss->add_internal_bitmap) {
b7f731
 			pr_err("internal bitmaps not supported with %s metadata\n",
b7f731
 				st->ss->name);
b7f731
-- 
b7f731
2.7.4
b7f731