No, growing a RAID10 is not something that is currently on my TODO list.
There are 2 reasons for this.
Firstly, it is a daunting task. Due to the multiple layout options (near, far, offset) and varying numbers of copies of data, there are lots of different growth options. I don't know where to start :-)
Secondly, RAID10 doesn't have anything like the stripe-cache that RAID5 has, This stripe cache is central to the reshape strategy in RAID5. We load data into the cache, then write it out from the cache, and use the cache to make sure everything is synchronised. With RAID10 I would have to build the necessary infrastructure to provide the necessary synchronisation. It all sounds too much like hard work.
But maybe it just "sounds" like hard work, and if I actually tried it would be easier than I expect. Let's see:
There are 3 dimensions for growth: making individual devices larger, adding new devices, and changing the layout.
For 'near' and 'offset' layouts, changing the size of the devices should be fairly straight forward. I could probably implement that tomorrow (if I wasn't already busy). For 'far', changing the device size would require moving the 2nd (And subsequent) copies further up the device. Probably do-able but mess.
When adding new devices I need to read-a-stripe, write-a-stripe, and always record where I am up to. It would probably be easiest to suspend other IO while a stripe was being relocated, or at least all IO in a window around the relocation.
Changing the number of near or offset copies would be similar to changing the number of devices. You could probably change from 2 near copies to 2 offset copies quite easily. Changing the number of far copies ... makes my head spin. There are some cases when it would be do-able, but probably it isn't worth it.
So maybe it isn't has horrible as I imagined. I might git it a go one day, but it won't be soon. Of course if someone else would like to try their hand at it, I would be very happy to help....