diff --git a/config.c b/config.c
index 9a04cae85f52..44f7dd2f316a 100644
--- a/config.c
+++ b/config.c
@@ -262,6 +262,7 @@ pass:
  * @cmdline: context dependent actions.
  *
  * If criteria passed, set name in @ident.
+ * Note: name is not used by config file, it for cmdline only.
  *
  * Return: %MDADM_STATUS_SUCCESS or %MDADM_STATUS_ERROR.
  */
@@ -571,7 +572,8 @@ void arrayline(char *line)
 					mis.super_minor = minor;
 			}
 		} else if (strncasecmp(w, "name=", 5) == 0) {
-			_ident_set_name(&mis, w + 5, false);
+			/* Ignore name in confile */
+			continue;
 		} else if (strncasecmp(w, "bitmap=", 7) == 0) {
 			if (mis.bitmap_file)
 				pr_err("only specify bitmap file once. %s ignored\n",
@@ -1279,13 +1281,7 @@ struct mddev_ident *conf_match(struct supertype *st,
 				       array_list->devname);
 			continue;
 		}
-		if (array_list->name[0] &&
-		    strcasecmp(array_list->name, info->name) != 0) {
-			if (verbose >= 2 && array_list->devname)
-				pr_err("Name differs from %s.\n",
-				       array_list->devname);
-			continue;
-		}
+
 		if (array_list->devices && devname &&
 		    !match_oneof(array_list->devices, devname)) {
 			if (verbose >= 2 && array_list->devname)
diff --git a/mdadm.conf.5.in b/mdadm.conf.5.in
index 94e23dd013ba..787e51e9e88d 100644
--- a/mdadm.conf.5.in
+++ b/mdadm.conf.5.in
@@ -133,13 +133,6 @@ The value should be a 128 bit uuid in hexadecimal, with punctuation
 interspersed if desired.  This must match the uuid stored in the
 superblock.
 .TP
-.B name=
-The value should be a simple textual name as was given to
-.I mdadm
-when the array was created.  This must match the name stored in the
-superblock on a device for that device to be included in the array.
-Not all superblock formats support names.
-.TP
 .B super\-minor=
 The value is an integer which indicates the minor number that was
 stored in the superblock when the array was created. When an array is
diff --git a/super1.c b/super1.c
index dfde4629508b..5fd2228efbd6 100644
--- a/super1.c
+++ b/super1.c
@@ -645,10 +645,6 @@ static void brief_examine_super1(struct supertype *st, int verbose)
 			printf(":");
 		printf("%02x", sb->set_uuid[i]);
 	}
-	if (sb->set_name[0]) {
-		printf(" name=");
-		print_quoted(sb->set_name);
-	}
 	printf("\n");
 }
 
@@ -875,10 +871,6 @@ static void brief_detail_super1(struct supertype *st, char *subarray)
 	struct mdp_superblock_1 *sb = st->sb;
 	int i;
 
-	if (sb->set_name[0]) {
-		printf(" name=");
-		print_quoted(sb->set_name);
-	}
 	printf(" UUID=");
 	for (i = 0; i < 16; i++) {
 		if ((i & 3) == 0 && i != 0)
diff --git a/tests/00confnames b/tests/00confnames
index 10823f0181cf..191a905f3379 100644
--- a/tests/00confnames
+++ b/tests/00confnames
@@ -1,10 +1,8 @@
 set -x -e
 . tests/templates/names_template
 
-# Test how <devname> and <name> from config are handled during Incremental assemblation.
-# 1-6 <devnode> only tests (no <name> in config).
-# 6-10 <devname> and <name> combinations are tested.
-# 11-13 corner cases.
+# Test how <devname> is handled during Incremental assemblation with
+# config file and ARRAYLINE specified.
 
 names_create "/dev/md/name"
 local _UUID="$(mdadm -D --export /dev/md127 | grep MD_UUID | cut -d'=' -f2)"
@@ -12,96 +10,47 @@ local _UUID="$(mdadm -D --export /dev/md127 | grep MD_UUID | cut -d'=' -f2)"
 
 
 # 1. <devname> definition consistent with metadata name.
-names_make_conf $_UUID "/dev/md/name" "empty" $config
+names_make_conf $_UUID "/dev/md/name" $config
 mdadm -S "/dev/md127"
 mdadm -I $dev0 --config=$config
 names_verify "/dev/md127" "name" "name"
 mdadm -S "/dev/md127"
 
 # 2. Same as 1, but use short name form of <devname>.
-names_make_conf $_UUID "name" "empty" $config
+names_make_conf $_UUID "name" $config
 mdadm -I $dev0 --config=$config
 names_verify "/dev/md127" "name" "name"
 mdadm -S "/dev/md127"
 
 # 3. Same as 1, but use different <devname> than metadata provides.
-names_make_conf $_UUID "/dev/md/other" "empty" $config
+names_make_conf $_UUID "/dev/md/other" $config
 mdadm -I $dev0 --config=$config
 names_verify "/dev/md127" "other" "name"
 mdadm -S "/dev/md127"
 
 # 4. Same as 3, but use short name form of <devname>.
-names_make_conf $_UUID "other" "empty" $config
+names_make_conf $_UUID "other" $config
 mdadm -I $dev0 --config=$config
 names_verify "/dev/md127" "other" "name"
 mdadm -S "/dev/md127"
 
-# 5. Force particular node creation by setting <devname> to /dev/mdX. Link is not created in this
-# case.
-names_make_conf $_UUID "/dev/md4" "empty" $config
+# 5. Force particular node creation by setting <devname> to /dev/mdX.
+# Link is not created in this case.
+names_make_conf $_UUID "/dev/md4" $config
 mdadm -I $dev0 --config=$config
 names_verify "/dev/md4" "empty" "name"
 mdadm -S "/dev/md4"
 
-# 6. <devname> set to /dev/mdX, <name> same as in metadata.
-# Metadata name and default node used - controversial. Current behavior documented.
-names_make_conf $_UUID "/dev/md22" "name" $config
-mdadm -I $dev0 --config=$config
-names_verify "/dev/md127" "name" "name"
-mdadm -S "/dev/md127"
-
-# 7. <devname> set to /dev/mdX, <name> different than in metadata.
-# Metadata name and default node used - controversial. Current behavior documented.
-names_make_conf $_UUID "/dev/md8" "other" $config
-mdadm -I $dev0 --config=$config
-names_verify "/dev/md127" "name" "name"
-mdadm -S "/dev/md127"
-
-# 8. Both <devname> and <name> different than in metadata.
-# Metadata name and default node used - controversial. Current behavior documented.
-names_make_conf $_UUID "devnode" "other_name" $config
-mdadm -I $dev0 --config=$config
-names_verify "/dev/md127" "name" "name"
-mdadm -S "/dev/md127"
-
-# 9. <devname> set to metadata name, <name> different than in metadata.
-# Metadata name and default node used - controversial. Current behavior documented.
-names_make_conf $_UUID "name" "other_name" $config
-mdadm -I $dev0 --config=$config
-names_verify "/dev/md127" "name" "name"
-mdadm -S "/dev/md127"
-
-# 10. Bad <devname> set, no <name>.
-# Metadata name and default node used - expected.
-names_make_conf $_UUID "/im/bad/devname" "empty" $config
-mdadm -I $dev0 --config=$config
-names_verify "/dev/md127" "name" "name"
-mdadm -S "/dev/md127"
-
-# 11. <devname> with some special symbols and locales, no <name>.
+# 6. <devname> with some special symbols and locales.
 # <devname> should be ignored.
-names_make_conf $_UUID "tźż-\.,<>st+-" "empty" $config
-mdadm -I $dev0 --config=$config
-names_verify "/dev/md127" "name" "name"
-mdadm -S "/dev/md127"
-
-# 12. No <devname> and <name> set.
-# Metadata name and default node used - expected.
-names_make_conf $_UUID "empty" "empty" $config
-mdadm -I $dev0 --config=$config
-names_verify "/dev/md127" "name" "name"
-mdadm -S "/dev/md127"
-
-# 13. No <devname>, <name> set to /dev/mdX.
-# Entry should be ignored, it is not ignored but result is good anyway.
-names_make_conf $_UUID "empty" "/dev/md12" $config
+names_make_conf $_UUID "tźż-\.,<>st+-" $config
 mdadm -I $dev0 --config=$config
 names_verify "/dev/md127" "name" "name"
 mdadm -S "/dev/md127"
 
-# 13. No <devname>, <name> with special symbols and locales.
-# Entry should be ignored, it is not ignored but result is good anyway.
-names_make_conf $_UUID "empty" "./\śćń#&" $config
+# 7. No <devname> set.
+# Metadata name and default node used.
+names_make_conf $_UUID "empty" $config
 mdadm -I $dev0 --config=$config
 names_verify "/dev/md127" "name" "name"
 mdadm -S "/dev/md127"
diff --git a/tests/templates/names_template b/tests/templates/names_template
index 6181bfaaaa1a..1b6cd14bf51d 100644
--- a/tests/templates/names_template
+++ b/tests/templates/names_template
@@ -63,8 +63,7 @@ function names_verify() {
 names_make_conf() {
 	local UUID="$1"
 	local WANTED_DEVNAME="$2"
-	local WANTED_NAME="$3"
-	local CONF="$4"
+	local CONF="$3"
 
 	local LINE="ARRAY metadata=1.2 UUID=$UUID"
 
@@ -72,9 +71,5 @@ names_make_conf() {
 		LINE="$LINE $WANTED_DEVNAME"
 	fi
 
-	if [[ "$WANTED_NAME" != "empty" ]]; then
-		LINE="$LINE name=$WANTED_NAME"
-	fi
-
 	echo $LINE > $CONF
 }
