There is a possibility to attach single bcache cache drive to multiple backing devices. Since bcache is not aware about filesystem which lies on top, this means it is not aware about any software RAID configration of those devices to my knowledge.
An example: 3 drives with Btrfs RAID1 (2 copies) on top of bcache with an additional SSD for writearound cache. Bcache isn't aware about RAID1 and data duplication on disks, so each block read from separate drives will be cached separately. This means the data will be duplicated in the cache. This also means, that there is always 50% of cache miss for the data which was already cached from one backing device block, but wasn't from the other. This makes cache less efficient in RAID configurations with data duplication.
A more efficient cache alternative to the example above, would be (I guess) a mix of linux RAID, bcache and Btrfs: Btrfs (non-RAID) on top of bcache on top of md-raid / lvm RAID1 on disks. But then I'd loose Btrfs checksumming of each copy of data block in RAID, and I couldn't create RAID1 for data and RAID1c3 for metadata.
Is what I wrote above true? Are there any better cache configurations to avoid duplication of data in cache in RAID1 setups?