Must add the resize2fs operation!
Suppose we have:
Get the exact size (in kb) of the /dev/sdb7 partition. Using parted and display sizes in sector units:
parted /dev/sdb (parted) unit s (parted) print ... Sector size (logical/physical): 512B/4096B ... 7 95703040s 976773119s 881070080s home raid
so the size of /dev/sdb7 is 881070080 / 2 = 440535040 kb.
Get the size (in kb) of the /dev/sda7 partition:
parted /dev/sda (parted) unit s (parted) print ... Sector size (logical/physical): 512B/4096B ... 7 95703040s 1894920191s 1799217152s home raid
The size is 1799217152 / 2 = 899608576 kb.
Get the size of the /dev/md0 RAID volume:
mdadm -D /dev/md3 ... Array Size : 899476480 (857.81 GiB 921.06 GB) ...
The overhead of the RAID volume is 899608576 - 899476480 = 132096 kb. For safety we allow an extra space of 128 kb for the RAID superblock.
So we can calculate the new array size:
new_array_size = new_component_size - raid_overhead - raid_superblock_size
440535040 - 132096 - 128 = 440402816
It is now possibile to shrink the existing array /dev/md3 to the new smaller size:
mdadm --grow /dev/md3 -z 440402816
Finally we can add the new component to the shrinked array:
mdadm /dev/md3 --add /dev/sdb7