On Fri, Feb 8, 2019 at 12:15 AM Stefan K <shado...@gmx.net> wrote: > > > * Normal desktop users _never_ look at the log files or boot info, and > > rarely run monitoring programs, so they as a general rule won't notice > > until it's already too late. BTRFS isn't just a server filesystem, so > > it needs to be safe for regular users too. > I guess a normal desktop user wouldn't create a RAID1 nor other RAID-things, > right? So an admin take care of a RAID and monitor it (it doesn't matter if > it a hardwareraid, mdraid, zfs raid or what ever) > and degraded works only with RAID-things, its not relevant for single-disk > usage, right?
The point is that persistently setting the degraded mount option as a boot param has a chance of causing a degraded mount even if your array is not degraded. Also, there is no such thing as transitioning from normal mount to degraded mount. If a device fails, the array is not strictly degraded, it's a normal mount with a huge amount of kernel errors being generated by Btrfs due to the bad/missing device. I'm pretty sure there are unmerged patches add something like the concept of an md faulty device, but I'm not sure what the logic is, but my understanding is they're not well enough tested yet (?) for them to get merged. If your system log is directed to write to this same volume, that causes even more errors due to additional failing writes, which then have to be logged. So now you're depending on kernel printk rate limiting being set well below the water line to make sure Btrfs errors don't cause so much disk contention that the system gets stuck (not difficult if sysroot is a hard drive). > > > Also, LVM and MD have the exact same issue, it's just not as significant > > because they re-add and re-sync missing devices automatically when they > > reappear, which makes such split-brain scenarios much less likely. > why does btrfs don't do that? It's a fair question but the simplest answer is, features don't grow on trees, they're written by developers and no one has yet done that work. -- Chris Murphy