De tussentijdse release van het OpenZFS 2.2.1-project is beschikbaar, dat de implementatie van het ZFS-bestandssysteem voor Linux en FreeBSD verder ontwikkelt. Deze release is opmerkelijk vanwege de toevoeging van ondersteuning voor Linux-kernel 6.6 en de poging om een probleem op te lossen dat leidt tot gegevensbeschadiging (het nullen van delen van blokken) in bestanden na het kopiƫren.
Aanvankelijk werd gedacht dat het probleem alleen voorkwam in de 2.2.x-tak en werd veroorzaakt door een fout in het blokkloningsmechanisme dat in OpenZFS 2.2.0 is opgenomen, waarmee een kopie van een bestand of een deel ervan kan worden gemaakt zonder gegevens te dupliceren, door in de tweede kopie verwijzingen naar de al bestaande gegevensblokken van het originele bestand te gebruiken zonder ze daadwerkelijk te kopiƫren. In versie OpenZFS 2.2.1 is het blokkloningsmechanisme standaard uitgeschakeld om het probleem te blokkeren, en is er een instelling zfs_bclone_enabled toegevoegd om ondersteuning voor deze modus weer in te schakelen.
Later verklaarden de ontwikkelaars dat het probleem ook kon worden gereproduceerd in configuraties met de OpenZFS 2.1.x-tak. De veronderstellingen dat het probleem zich voordeed op systemen met oudere versies van het coreutils-pakket zijn niet bevestigd; de fout kon worden gereproduceerd in FreeBSD en in Linux-distributies met de recente release van coreutils 9.4.
Bestandsschade komt voor bij een vrij zeldzame samenloop van omstandigheden, bijvoorbeeld het uitvoeren van het Gentoo-commando 'emerge -1 dev-lang/go' leidt tot de installatie van de gereedschappen voor de programmeertaal Go met beschadigde bestanden in de directory /usr/lib/go/pkg/tool/linux_amd64/compile. Er wordt aangenomen dat de fout begon op te treden na de standaardinstelling van de parameter 'zfs_dmu_offset_next_sync=1' in versie openzfs 2.1.4. De bron van de fout is nog niet geĆÆdentificeerd. Als aanbevolen workaround voor het blokkeren van de fout wordt voorgesteld de parameter '/sys/module/zfs/parameters/zfs_dmu_offset_next_sync' op 0 in te stellen.
Bron: opennet.ru
