One suggestion: i managed to whack one of my arrays today by issuing mdadm <device> --grow --size=<smallnumber>
I see in an earlier post where you mention this can be reversed -- how? I did this on my testbed that has no real data so it doesn't matter now, but I'd like to know just in case.
Also, what do you think about the idea of a size check for this command? i.e. if I have an array where I use 10,000 blocks from each component device, and then I issue:
mdadm /dev/md0 --grow --size=1000
the system could say something like: "grow size given is smaller than the current size of the array. This could be a very bad idea. Use the --force option if you really want to do this"
(or something like that)