Este disponibilă versiunea intermediară a proiectului OpenZFS 2.2.1, care dezvoltă implementarea sistemului de fișiere ZFS pentru Linux și FreeBSD. Această versiune se remarcă prin adăugarea suportului pentru nucleul Linux 6.6 și o tentativă de a remedia o problemă care duce la coruperea datelor (resetarea unor blocuri) în fișiere după copierea acestora.
Inițial, se credea că problema apare doar în ramura 2.2.x și este cauzată de o eroare din mecanismul de clonare a blocurilor inclus în OpenZFS 2.2.0, care permite crearea unei copii a unui fișier sau a unei părți a acestuia fără duplicarea datelor, folosind în a doua copie referințe la blocurile de date existente ale fișierului sursă fără copierea efectivă a acestora. În versiunea OpenZFS 2.2.1, pentru a bloca problema, mecanismul de clonare a blocurilor a fost dezactivat implicit, iar pentru a readuce suportul pentru acest mod a fost adăugată setarea zfs_bclone_enabled.
Mai târziu, dezvoltatorii au declarat că au reprodus problema și în configurații cu ramura OpenZFS 2.1.x. Nu s-au confirmat nici presupunerile că problema apare pe sistemele cu versiuni mai vechi ale pachetului coreutils — eroarea a fost reprodusă atât în FreeBSD, cât și în distribuții Linux cu versiunea recentă a coreutils 9.4.
Coruperea fișierelor apare în condiții destul de rare, de exemplu, executarea în Gentoo a comenzii „emerge -1 dev-lang/go” duce la instalarea instrumentarului pentru limbajul Go cu coruperea fișierelor în directorul /usr/lib/go/pkg/tool/linux_amd64/compile. Se presupune că eroarea a început să apară după setarea implicită a parametrului „zfs_dmu_offset_next_sync=1” în versiunea openzfs 2.1.4. Sursa erorii nu a fost încă identificată. Ca o soluție de ocolire recomandată pentru blocarea erorii, se propune setarea parametrului „/sys/module/zfs/parameters/zfs_dmu_offset_next_sync” la 0.
Sursa: opennet.ro
