Hi, I used btrfs over mdadm raid1, btrfs detect checksum corruption, then I investigate.
And I see some SSD have silent corruption, not inform the Linux, then the blocklayer then have silent corruption. mdadm only discard a device when is informed. I start use btrfs with raid, when detect the checksum not match, then will load the copy (if too not match then return a IO error). To prevent too late error detection I configure scrub, mean out of the checksum I perform a full content read to be sure it match.
Then I start use btrfs with raid1 (one copy on onther device), why raid1? Because btrfs raid5 was buggy during years, was improved but need more work to be secure to use. And the raid5 for now have poor performance.