I haven't looked at the wiki in a bit so I'm not sure if it points out two common gotchas: Mismatch between SCT ERC and SCSI driver (used by libata and maybe also usb) timeouts. Btrfs needs explicit read errors on bad sectors to do automatic fix ups, same as md. https://raid.wiki.kernel.org/index.php/Timeout_Mismatch There's no automatic degraded state for Btrfs. And it is not a good idea to add the degraded mount option to fstab, as it can result in a kind of "split brain" corruption. In the case of member device failure, at startup time the mount will fail and you'll need to manually mount degraded and fix the problem resulting in the need to mount degraded. An alternative is maybe modifying the current btrfs udev rule, to timeout after a decently long period of time to ensure it's really a case of needing degraded mount, rather than merely a slow or transient effect that just needs a delay so that all member devices are available when mount is called. But I don't know if udev has a concept of waiting. For mdadm this is done in the initramfs. -- Chris Murphy
