Blame SOURCES/maps-Use-keyvalue-for-null-terminator-to-indicate-un.patch

b7f731
From 5e8e35fb7e17495032e144f319517dcae38d1b56 Mon Sep 17 00:00:00 2001
b7f731
From: Jes Sorensen <jsorensen@fb.com>
b7f731
Date: Thu, 20 Apr 2017 00:19:44 -0400
b7f731
Subject: [RHEL7.5 PATCH 084/169] maps: Use keyvalue for null terminator to
b7f731
 indicate 'unset' value
b7f731
b7f731
This simplifies the code calling map_name() so it no longer has to
b7f731
manually check for UnSet and convert the value manually.
b7f731
b7f731
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
b7f731
---
b7f731
 maps.c  | 17 +++++++++--------
b7f731
 sysfs.c |  2 --
b7f731
 2 files changed, 9 insertions(+), 10 deletions(-)
b7f731
b7f731
diff --git a/maps.c b/maps.c
b7f731
index a2d293b..11dd3d2 100644
b7f731
--- a/maps.c
b7f731
+++ b/maps.c
b7f731
@@ -44,7 +44,7 @@ mapping_t r5layout[] = {
b7f731
 	{ "ddf-N-restart", ALGORITHM_LEFT_ASYMMETRIC},
b7f731
 	{ "ddf-N-continue", ALGORITHM_LEFT_SYMMETRIC},
b7f731
 
b7f731
-	{ NULL, 0}
b7f731
+	{ NULL, UnSet }
b7f731
 };
b7f731
 mapping_t r6layout[] = {
b7f731
 	{ "left-asymmetric", ALGORITHM_LEFT_ASYMMETRIC},
b7f731
@@ -70,7 +70,7 @@ mapping_t r6layout[] = {
b7f731
 	{ "right-symmetric-6", ALGORITHM_RIGHT_SYMMETRIC_6},
b7f731
 	{ "parity-first-6", ALGORITHM_PARITY_0_6},
b7f731
 
b7f731
-	{ NULL, 0}
b7f731
+	{ NULL, UnSet }
b7f731
 };
b7f731
 
b7f731
 mapping_t pers[] = {
b7f731
@@ -93,7 +93,7 @@ mapping_t pers[] = {
b7f731
 	{ "10", 10},
b7f731
 	{ "faulty", LEVEL_FAULTY},
b7f731
 	{ "container", LEVEL_CONTAINER},
b7f731
-	{ NULL, 0}
b7f731
+	{ NULL, UnSet }
b7f731
 };
b7f731
 
b7f731
 mapping_t modes[] = {
b7f731
@@ -106,7 +106,7 @@ mapping_t modes[] = {
b7f731
 	{ "grow", GROW},
b7f731
 	{ "incremental", INCREMENTAL},
b7f731
 	{ "auto-detect", AUTODETECT},
b7f731
-	{ NULL, 0 }
b7f731
+	{ NULL, UnSet }
b7f731
 };
b7f731
 
b7f731
 mapping_t faultylayout[] = {
b7f731
@@ -127,7 +127,7 @@ mapping_t faultylayout[] = {
b7f731
 	{ "flush", ClearFaults},
b7f731
 	{ "none", ClearErrors},
b7f731
 	{ "default", ClearErrors},
b7f731
-	{ NULL, 0}
b7f731
+	{ NULL, UnSet }
b7f731
 };
b7f731
 
b7f731
 mapping_t consistency_policies[] = {
b7f731
@@ -137,7 +137,7 @@ mapping_t consistency_policies[] = {
b7f731
 	{ "bitmap", CONSISTENCY_POLICY_BITMAP},
b7f731
 	{ "journal", CONSISTENCY_POLICY_JOURNAL},
b7f731
 	{ "ppl", CONSISTENCY_POLICY_PPL},
b7f731
-	{ NULL, 0}
b7f731
+	{ NULL, UnSet }
b7f731
 };
b7f731
 
b7f731
 mapping_t sysfs_array_states[] = {
b7f731
@@ -154,7 +154,7 @@ mapping_t sysfs_array_states[] = {
b7f731
 	{ "read-auto", ARRAY_READ_AUTO },
b7f731
 	{ "clean", ARRAY_CLEAN },
b7f731
 	{ "write-pending", ARRAY_WRITE_PENDING },
b7f731
-	{ NULL, 0 }
b7f731
+	{ NULL, ARRAY_UNKNOWN_STATE }
b7f731
 };
b7f731
 
b7f731
 char *map_num(mapping_t *map, int num)
b7f731
@@ -174,5 +174,6 @@ int map_name(mapping_t *map, char *name)
b7f731
 			return map->num;
b7f731
 		map++;
b7f731
 	}
b7f731
-	return UnSet;
b7f731
+
b7f731
+	return map->num;
b7f731
 }
b7f731
diff --git a/sysfs.c b/sysfs.c
b7f731
index c6df9b0..712f8b3 100644
b7f731
--- a/sysfs.c
b7f731
+++ b/sysfs.c
b7f731
@@ -250,8 +250,6 @@ struct mdinfo *sysfs_read(int fd, char *devnm, unsigned long options)
b7f731
 		if (load_sys(fname, buf, sizeof(buf)))
b7f731
 			goto abort;
b7f731
 		sra->array_state = map_name(sysfs_array_states, buf);
b7f731
-		if (sra->array_state == UnSet)
b7f731
-			sra->array_state = ARRAY_UNKNOWN_STATE;
b7f731
 	}
b7f731
 
b7f731
 	if (options & GET_CONSISTENCY_POLICY) {
b7f731
-- 
b7f731
2.7.4
b7f731