Even with ZFS if you don't use ZIL stored on SSD with power loss protection.
Even with low-end HW RAID (that you are supporting) and forcing writeback cache (like most users does because without that, it's a pain)
Anyway, this issue is solved in kernel 4.4 by using a journal (feature made by facebook AFAIK)
This is the same for any hw raid that you are supporting. In addition, any hw raid will put your data at risks much more than mdadm, because you are relying to a closed source firmware, where bugs are discovered only after failures and so on.
That's false.
If you use cheap hardware, is not an mdadm failure, but your failure with bad hw planning.
What you have described also applies to hw raid, but hw raid is supported and mdadm not. This is non-sense.
hw raid expose data to much more risks than mdadm. What if hw card fails? what if you have to move disks to a different server with dropped support to that hw card (like all DELL/HP does with every generation change) ?
I have many many server with PERC H700 that is unsupported, untested, unusable on any subsequent hardware. As DELL tends to change the platform every 2 years, evety 2 years you'll hit this issue. If you put an H700 to an R730, you won't get any support from DELL.
Also, my H700 is not compatible (due to a different and proprietary form-factor) to any recent DELL server. Same vendor but incompatible hardware.
Forcing users to use hw raid expose to more risk than using mdadm.
And, anyway, users should be free to make their own decisions. But you can't say that with mdadm you'll loose data and with hw raid not.
I'm working with servers and PC from about 2001. I've never ever lost a single bit on server with mdadm (even after unclean shutdown, that are very rare, by using UPSs). On the other half, i've lost about 2 PB of data (in multiple servers, multiple times) due to some issues with hw raid (bad chip, bad firmware, card broken, card that started to write garbage, depleted battery not detected by the raid card and thus with write-back still enabled, unclean shutdown that totally destroyed the raid configuration, unclean shutdown that destroyed some data even with a new battery (less than 3 moths) ) and so on.