I have the same problem as in Can I "atomically" swap a raid5 drive in Linux software raid? i.e. a Linux software raid with 3 RAID5 disks where one disk is showing smart errors but isn't marked faulty by MD yet. I want to replace the disk with minimal risk of data loss, online.
Is there an alternative to
mdadm /dev/md0 -a /dev/sdd1 -f /dev/sdc1 (assuming sdc is failing and sdd is the new disk)?
AFAIK this will cause the disk sdc to be disregarded in case of a block failure on sda or sdb while rebuilding the array on sdd so that such an error would cause data loss. Perhaps MD learned something new in the last 4 years?