If you’re running OpenZFS 2.2.0 upgrade to 2.2.1 2.2.2 immediately.
This was mentioned in another topic but I wanted to repost here as a main line post because it might bite some folks bad.
OpenZFS 2.2.0 appears to have a bad data corruption bug with the new block cloning feature that replaces data with zeroes with no warning, no detection, no indication at all of anything wrong until you try to read your data and realize it’s bad. Scrubs do not fix it.
Issue thread: some copied files are corrupted (chunks replaced by zeros) · Issue #15526 · openzfs/zfs · GitHub
Separate discussion on detecting corruption: How to detect bad block cloning? · Issue #15554 · openzfs/zfs · GitHub
2.2.1 released 4 days ago - this release will turn off the block cloning feature by default to stop further corruption: Release zfs-2.2.1 · openzfs/zfs · GitHub
2.1.x and earlier versions are unaffected.
UPDATED DEC 1
OpenZFS 2.2.2 released late Nov 30th
Summary:
Note : This release contains an important fix for a data corruption bug. Full details are in the issue (#15526) and bug fix (#15571). There’s also a developer’s bug summary that gives a good overview. We recommend everyone either upgrade to 2.2.2 or 2.1.14 to get the fix. The bug can cause data corruption due to an incorrect dirty dnode check. This bug is very hard to hit, and really only came to light due to changes in cp
in coreutils 9.x. It’s extremely unlikely that the bug was ever hit on EL7 or EL8, when running cp
since they all use coreutils 8.x which performs file copies differently.