[linux-raid added to cc.
Background: patch was submitted to remove the current hard limit
of 127 partitions that can be auto-detected - limit set by 'detected_devices array in md.c.
]
My first inclination is not to fix this problem.
I consider md auto-detect to be a legacy feature.
I don't use it and I recommend that other people don't use it.
However I cannot justify removing it, so it stays there.
Having this limitation could be seen as a good motivation for some
more users to stop using it.
Why not use auto-detect?
I have three issues with it.
1/
It just isn't "right". We don't mount filesystems from partitions
just because they have type 'Linux'. We don't enable swap on
partitions just because they have type 'Linux swap'. So why do we
assemble md/raid from partitions that have type 'Linux raid
autodetect'?
2/ It can cause problems when moving devices. If you have twoI don't personally see the value of autodetect for putting together the huge number of drives people configure. I see this as a way to improve boot reliability, if someone needs 64 drives for root and boot, they need to read a few essays on filesystem configuration. However, I'm aware that there are some really bizarre special cases out there.
machines, both with an 'md0' array and you move the drives from one
on to the other - say because the first lost a powersupply - and
then reboot the machine that received the drives, which array gets
assembled as 'md0' ?? You might be lucky, you might not. This
isn't purely theoretical - there have been pleas for help on
linux-raid resulting from exactly this - though they have been
few.
3/ The information redundancy can cause a problem when it gets out of
sync. i.e. you add a partition to a raid array without setting
the partition type to 'fd'. This works, but on the next reboot
the partition doesn't get added back into the array and you have
to manually add it yourself.
This too is not purely theory - it has been reported slightly more
often than '2'.
So my preferred solution to the problem is to tell people not to use
autodetect. Quite possibly this should be documented in the code, and
maybe even have a KERN_INFO message if more than 64 devices are
autodetected.