Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [SOLVED] mdadm 4.3: Value cannot be set as name. Not POSIX compatible. (Read 2025 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[SOLVED] mdadm 4.3: Value cannot be set as name. Not POSIX compatible.

After upgrading mdadm 4.2-2 to 4.3-1, it fails to assemble arrays with error: "Value ":A1_ROOT" cannot be set as name. Reason: Not POSIX compatible." Leading ':' is for empty homehost, legal (or was legal, at least).

I also found debian bugreport with same error and array name "basecamp:0". Without discussion.

Can anyone tell what's going on? Is 4.3 buggy?

Re: mdadm 4.3: Value cannot be set as name. Not POSIX compatible.

Reply #1
I have just upgraded mine and rebooted, my raid is still working as normal.

mdadm 4.3-2 is the current version.


Re: mdadm 4.3: Value cannot be set as name. Not POSIX compatible.

Reply #3
No I don't have a colon in the name.

But I am on version 4.3-2, and you say you are on 4.3-1?

Re: mdadm 4.3: Value cannot be set as name. Not POSIX compatible.

Reply #4
But I am on version 4.3-2, and you say you are on 4.3-1?

AFAIK that suffix after hyphen is incremented by distro maintainers when they recompile same package sources -- e.g. after dependencies upgraded. Hence, irrelevant.

Your reply somewhat confirms my suspicion that mdadm complains about colon. Maybe I should try `HOMEHOST <ignore>` in /etc/mdadm.conf instead. Would be nice to see confirmation from mdadm docs or devs, though. Haven't found one yet.

 

Re: mdadm 4.3: Value cannot be set as name. Not POSIX compatible.

Reply #6
Check any packages on the list are all from the same repo.

Likely irrelevant: for now I just downgraded mdadm, re-run mkinitcpio so downgraded binary made into initramfs, rebooted -- and everything works, with all other packages being actual.

Re: mdadm 4.3: Value cannot be set as name. Not POSIX compatible.

Reply #7
Fixed. (1) Removed colon from `mdadm --assemble` command:

Code: [Select]
-mdadm -q --assemble /dev/md/A1_ROOT --name=:A1_ROOT
+mdadm -q --assemble /dev/md/A1_ROOT --name=A1_ROOT

(2) Just in case, added `HOMEHOST` to `/etc/mdadm.conf`:

Code: [Select]
HOMEHOST <ignore>
AUTO -all

(This is whole file; I use names & labels everywhere, no GUIDs). Renaming arrays was NOT needed:

Code: [Select]
# mdadm --detail /dev/md/A1_ROOT | grep Name
              Name : :A1_ROOT

Although it worked even if I renamed it to e.g. "a1:A1_ROOT", .i.e. `mdadm -A ... --name=A1_ROOT` takes `name` parameter without host.

Since I've got empty host in array name, maybe I could write `HOMEHOST <none>` instead of `<ignore>`, but it's good as it is.