]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdadm.c
mdadm: refactor ident->name handling
[thirdparty/mdadm.git] / mdadm.c
diff --git a/mdadm.c b/mdadm.c
index 0a56ed2685f4c5be7ff75229705851a35368735d..8bc9304ef6d070586ded7778feda1d95d7079bc5 100644 (file)
--- a/mdadm.c
+++ b/mdadm.c
@@ -690,20 +690,14 @@ int main(int argc, char *argv[])
                case O(CREATE,'N'):
                case O(ASSEMBLE,'N'):
                case O(MISC,'N'):
-                       if (ident.name[0]) {
-                               pr_err("name cannot be set twice.   Second value %s.\n", optarg);
-                               exit(2);
-                       }
                        if (mode == MISC && !c.subarray) {
                                pr_err("-N/--name only valid with --update-subarray in misc mode\n");
                                exit(2);
                        }
-                       if (strlen(optarg) > 32) {
-                               pr_err("name '%s' is too long, 32 chars max.\n",
-                                       optarg);
+
+                       if (ident_set_name(&ident, optarg) != MDADM_STATUS_SUCCESS)
                                exit(2);
-                       }
-                       strcpy(ident.name, optarg);
+
                        continue;
 
                case O(ASSEMBLE,'m'): /* super-minor for array */