Projekat OpenZFS 2.2.1, koji razvija implementaciju ZFS datotečnog sistema za Linux i FreeBSD. Ovo izdanje je značajno zbog dodavanja podrške za kernel. Linux 6.6 и попыткой устранения проблемы, приводящей к повреждению данных (обнулению части блоков) в файлах после их копирования.
U početku se pretpostavljalo da se problem pojavljuje samo u grani 2.2.x i da je uzrokovan greškom u mehanizmu kloniranja blokova uključenom u OpenZFS 2.2.0, koji vam omogućava da kreirate kopiju datoteke ili njenog dijela bez dupliciranja podataka, koristeći u drugoj kopiji reference na već postojeće blokove podataka izvorne datoteke bez njihovog stvarnog kopiranja. U OpenZFS 2.2.1, da bi se blokirao problem, mehanizam za kloniranje bloka je onemogućen po defaultu, a dodata je postavka zfs_bclone_enabled da vrati podršku za ovaj način rada.
Позднее разработчики заявили о воспроизведении проблемы и в конфигурациях с веткой OpenZFS 2.1.x. Не подтвердились и предположения, что проблема проявляется на системах со старыми выпусками пакета coreutils — ошибку удалось воспроизвести во FreeBSD и в Linux-дистрибутивах со свежим выпуском coreutils 9.4.
Oštećenje datoteke se događa u prilično rijetkim okolnostima, na primjer, pokretanje naredbe "emerge -1 dev-lang/go" u Gentoo-u rezultira instalacijom Go alata sa oštećenim datotekama u /usr/lib/go/pkg/tool/ linux_amd64/ direktorij. kompajlirati. Pretpostavlja se da se greška počela pojavljivati nakon postavljanja zadanog parametra “zfs_dmu_offset_next_sync=1” u openzfs verziji 2.1.4. Izvor greške još nije utvrđen. Kao preporučeno rješenje za blokiranje greške, predlaže se postavljanje parametra “/sys/module/zfs/parameters/zfs_dmu_offset_next_sync” na 0.
izvor: opennet.ru
