* /dev/md_d{number} (legacy)
* /dev/md_{name}
* /dev/md/{name}
- * {name} - anything that doesn't start from '/' or '<'.
+ * {name}
*
- * {name} must follow name's criteria.
+ * {name} must follow name's criteria and be POSIX compatible.
* If criteria passed, duplicate memory and set devname in @ident.
*
* Return: %MDADM_STATUS_SUCCESS or %MDADM_STATUS_ERROR.
else
name = devname;
- if (*name == '/' || *name == '<') {
- ident_log(prop_name, devname, "Cannot be started from \'/\' or \'<\'", cmdline);
+ if (is_name_posix_compatible(name) == false) {
+ ident_log(prop_name, name, "Not POSIX compatible", cmdline);
return MDADM_STATUS_ERROR;
}
return MDADM_STATUS_ERROR;
}
+ if (is_name_posix_compatible(name) == false) {
+ ident_log(prop_name, name, "Not POSIX compatible", cmdline);
+ return MDADM_STATUS_ERROR;
+ }
+
snprintf(ident->name, MD_NAME_MAX + 1, "%s", name);
return MDADM_STATUS_SUCCESS;
}