Thread (2 messages) 2 messages, 2 authors, 2024-03-04

Re: mdadm 4.3 rejects /dev/md128 and larger numbers

From: Mariusz Tkaczyk <hidden>
Date: 2024-03-04 15:01:06

On Mon, 4 Mar 2024 14:19:29 +0100
Andreas Klauer [off-list ref] wrote:
Hello,

since mdadm 4.3, trying to use numbers larger than 127 results in:

  mdadm: Value "/dev/md3032" cannot be set as devname. 
  Reason: Not POSIX compatible. Value ignored.

Because in util.c :: is_devname_numbered() (commit 25aa73291):

  if (val > 127)
    return false;

The kernel seems to be fine with MINORMASK (2^20 - 1).
If so, instead of 127, the limit here should be 1048575?

I don't need a million arrays. But I do have more arrays than 
average because I use partitions instead of one big array 
for everything. And some flexibility in using distinct number 
ranges per group of arrays makes /proc/mdstat easier to read.

Regards,
Andreas Klauer
Hello Andreas,
Indeed, that it the case I missed. Sorry for bringing regression.

In the longer term, for better user experience I would like promote conception
called "named arrays", so could you please try to create "/dev/md/md_3032" and
test and see if that works for you?

The difference is that you will not be restricted to numbered devices, you can
also use asci letters like: "md_myarray", "md_do_not_touch".

Of course, it is kind of regression so I'm open to fix it for you but if I will
be able to convince you to use named arrays format (and help me fix issues!)
then whole community will gain.

You have to enable it first, but please note that it is not widely used now:

echo CREATE name=yes > /etc/mdadm.conf

Please test it and let me know!

Thanks,
Mariusz
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help