ZFS doesn’t have fsck because it already does the equivalent during import, reads and scrubs. Since it’s CoW and transaction based, it can rollback to a good state after power loss. So not only does it automatically check and fix things, it’s less likely to have a problem from power loss in the first place. I’ve used it on a home NAS for 10 years, survived many power outages without a UPS. Of course things can go terribly wrong and you end up with an unrecoverable dataset, and a UPS isn’t a bad idea for any computer if you want reliability.
Totally agree about mainline kernel inclusion, just makes everything easier and ZFS will always be a weird add-on in Linux.
I don’t get the term ‘technical debt’. Most people seem to use it to say “We took shortcuts previously, so now we need to go back and do things properly”.
FIrst, it’s a bad metaphor. You take on debt to invest in long term things that will provide future benefits. Telling the bean counters that you need to stop working on useful features to ‘pay back technical debt’ is not making things clearer to them.
Second, you write software, what the heck are you talking about? Compare to civil engineering. If an area gets busier and the existing narrow wood bridge is no longer suitible, engineers don’t say “Wow what idiots built this road with no eye to future growth?” It was built with the needs and resources of the time. To improve it, the bridge needs to be closed, demolished, and rebuilt with planning, labour and materials.
Instead software is empherial. You don’t need to demolish what’s there. No need to build temporary alternative infrastructure. No need for new materials and disposal of the old. It’s just planning and labour to redo a piece of software. It always seems so whiny when people complain about technical debt, as if switching to a different build system is anywhere close to the difficulty of fixing real life; replacing lead pipes with copper for an entire city, or removing asbestos from buildings.