Data-Destroying Defect Found In OpenZFS 2.2.0
Arthur T Knackerbracket has processed the following story:
A data-destroying bug has been discovered in a new feature of OpenZFS 2.2.0, as found in FreeBSD 14 among other OSes.
OpenZFS 2.2.0 was released just last month with a new feature called block cloning, as we reported when we looked at release candidate 3. Unfortunately, there's a bug in that code somewhere, as found by Gentoo-toting Terin Stock, who reported bug #15526. As a result, OpenZFS 2.2.1 is already out, which disables the new feature.
This is a bit of an embarrassment for OpenZFS, a project with an enviable reputation for data integrity. It's also less than ideal for fixed-release-cycle OSes that have the new version of OpenZFS, including the newly released FreeBSD 14. Fortunately for FreeBSD, though, version 14.0 ships with the feature disabled by default.
We have mentioned the work of BSD boffin Colin Percival before, but anyone brave enough to have already installed this point-zero release should heed his warning on Twitter X: "FreeBSD 14's ZFS code supports 'block cloning'. This is turned off by default. DO NOT ENABLE THIS FEATURE UNLESS YOU WANT TO LOSE DATA."
The bug manifests as corruption of the contents of files when they're copied; instead of their expected contents, there are stretches of zeroes, mixed with blocks of what looks like Base64-encoded data. It showed up when using Gentoo's portage command, the distro's package-management tool - an operation that typically involves copying lots of data. Worse still is that the file system's own health checks don't detect any problem. For now, release 2.2.1 simply disables the feature.
It seems very likely that OpenZFS 2.2.1, which simply turns off block-cloning, will quickly be followed by a 2.2.2 release to fix the underlying dnode handling.
Read more of this story at SoylentNews.