- shrink for raid4/5/6. Yes, it would be possible, You would need to process each device from the end to the beginning, so it would quite possibly be a lot slower. One difficulty is that there is no protocol for the device to check with the filesystem that smaller is OK. So you could accidentally shrink your array, and lose lots of data. You can already shrink your array with "--grow --size=smallnumber" but if you do that by mistake it is reverable. With "--grow --raid-devices=smallnumber" it wouldn't be. I guess I would just put some smarts in mdadm to check for the common filesystem types.
- version 1 superblocks and mdadm.conf. Yes, I received a patch recently to fix this. It is in current .git and will be in the next release.
- version 1.3 superblock with metadata redundancy. Yes, metadata-redundancy is something I have had in the back of my mind for a while. Your suggestion is quite a good one. I might just action it...
- Using the serial numbers of the drives. Maybe... I guess the per-device UUID could be initialised from this value if it were available. Would that be what you want?
Thanks for the input.
NeilBrown