Dostupná je mezivydání projektu OpenZFS 2.2.1, který rozvíjí implementaci souborového systému ZFS pro Linux a FreeBSD. Vydání se vyznačuje přidáním podpory jádra Linux 6.6 a snahou o odstranění problému, který vede k poškození dat (nulování části bloků) v souborech po jejich zkopírování.
Původně se předpokládalo, že problém se projevuje pouze ve větvi 2.2.x a je způsoben chybou v mechanismu klonování bloků zahrnutém v OpenZFS 2.2.0, který umožňuje vytvořit kopii souboru nebo jeho části bez duplikace dat, používající ve druhé kopii odkazy na již existující bloky dat původního souboru bez jejich skutečného kopírování. V verzi OpenZFS 2.2.1 byl mechanismus klonování bloků pro zablokování problému ve výchozím nastavení deaktivován a pro návrat podpory tohoto režimu byla přidána nastavení zfs_bclone_enabled.
Později vývojáři oznámili reprodukci problému také v konfiguracích s větvi OpenZFS 2.1.x. Neprokázaly se ani domněnky, že se problém projevuje na systémech se starými vydáními balíčku coreutils — chybu se podařilo reprodukovat ve FreeBSD a v linuxových distribucích s aktuálním vydáním coreutils 9.4.
Poškození souborů se projevuje při dostatečně vzácném souběhu okolností, například provedení příkazu „emerge -1 dev-lang/go“ v Gentoo vede k instalaci nástrojového vybavení pro jazyk Go s poškozením souborů v adresáři /usr/lib/go/pkg/tool/linux_amd64/compile. Předpokládá se, že chyba se začala projevovat po nastavení výchozího parametru „zfs_dmu_offset_next_sync=1“ ve verzi openzfs 2.1.4. Zdroj chyby zatím nebyl identifikován. Jako doporučené obcházející řešení pro zablokování chyby se navrhuje nastavit parametr „/sys/module/zfs/parameters/zfs_dmu_offset_next_sync“ na 0.
Zdroj: opennet.ru
