Two new versions of OpenZFS fix long-hidden corruption bug

Trending 2 months ago

The bug that was actual occasionally allurement abstracts on book copies in OpenZFS 2.2.0 has been articular and fixed, and there's a fix for the antecedent OpenZFS absolution too.

The OpenZFS development aggregation accept put out not one but two new releases of the open-source cross-platform filesystem for Linux and FreeBSD. Version 2.2.2 fixes the botheration that showed up in the latest version, which is included in FreeBSD 14 as able-bodied as several Linux distros, including Ubuntu 23.10. There's additionally a new absolution in the antecedent adaptation of OpenZFS: version 2.1.14 which applies to FreeBSD aback to adaptation 12.

This was all-important because while, as we reported a anniversary ago, it was OpenZFS 2.2.0 that brought the affair to ablaze and fabricated it visible, it didn't absolutely cause the problem. It alone apparent an basal bug which had been about for years: OpenZFS 2.2.0's new, faster archetype action artlessly fabricated the absolute affair abundant added acceptable to happen. The FreeBSD activity has published an errata notice, and fabricated fixes accessible for FreeBSD 12, 13 and 14.

The analysis that's been activity on back again has appear more. For instance, the bug was additionally confirmed in Illumos, the open-source angle of OpenSolaris which has connected development back Oracle dead off the accessible antecedent project in 2010. Illumos is itself the base of several OpenSolaris-based distributions.

As amendments in the absolution addendum for both these versions clarify, it's additionally hardly worse than it looked aftermost week, back we wrote that:

For Linux users, an added action seems to be that the OS has a contempo adaptation of the coreutils amalgamation – aloft adaptation 9.x.

This looked to be the case because the cp command in Coretils 9 was adapted to attending for means to acceleration up book copies, such as blockage for "holes" in files – continued stretches of zeroes – alleged the SEEK_HOLE optimization. Unfortunately, it looks like Red Hat backported this functionality from Coreutils 9.x to 8.x, and it's been identified in CentOS Stream 9 as able-bodied as in the OpenELA antecedent code. As the cipher animadversion dryly says:

I'd articulation to the agnate RHEL code, but acutely they no best broadcast it.

RHEL doesn't accommodate OpenZFS, so this data-loss affair will not affect it. Indeed, RHEL doesn't alike accommodate Btrfs… but Oracle Linux does, although that's no account for affair here: Btrfs itself is allowed from the bug.

  • Researcher accoutrements two-for-one accord on Linux bugs while acid GNOME component
  • Red Hat bins Bugzilla for RHEL affair tracking, all-overs on Jira
  • Nearly every AMD CPU back 2017 accessible to Inception data-leak attacks
  • Alarm aloft over Mozilla VPN: Wonky allotment analysis lets users account havoc

What this illustrates, though, is the botheration with aggravating to pin bottomward afflicted versions. As we described aback in June, Red Hat puts a lot of engineering time and accomplishment into backporting appearance from newer kernels into its very-long-term accurate action kernels. Sometimes, these backports may not be bound to the kernel: they may extend to non-kernel arrangement utilities. These optimizations are altogether safe on the Big Purple Hat's own distro, and absolutely its RHELatives such as Oracle and Alma and so on. However, such changes can get best up by added distros, or alike by bodies hand-building circuitous bespoke installations. The aftereffect is that it's not safe to artlessly say "this alone affects systems with coreutils 9 or above".

At any rate, for now, the affair is fixed. There's a newer overview of the issue on Github, but the analysis as to back the bug aboriginal appeared is still underway, as the comments there appearance (along with a articulation to our beforehand story).

The bug ability go aback as far as 2006. Although bug fix #15571 in these two new OpenZFS releases does boldness the issue, another, newer attack to fix the affair in a cleaner way is also beneath analysis as bug fix #15615. ZFS is a circuitous filesystem, and this is a circuitous bug that may accept remained hidden for 17 years. If there is a simpler, cleaner way to fix the issue, that would be a acceptable thing.