OpenZFS 2.2.1 projesi, ZFS dosya sistemi uygulamasını geliştiren bir projedir. Linux ve FreeBSD. Bu sürüm, çekirdek desteğinin eklenmesiyle dikkat çekiyor. Linux 6.6 ve dosyaların kopyalanmasından sonra veri bozulmasına (bazı blokların sıfırlanmasına) yol açan sorunu ortadan kaldırma girişimi.
Başlangıçta, sorunun yalnızca 2.2.x dalında ortaya çıktığı ve OpenZFS 2.2.0'da bulunan blok klonlama mekanizmasındaki bir hatadan kaynaklandığı varsayılmıştır; bu, bir dosyanın kopyasını veya bir kısmını çoğaltmadan oluşturmanıza olanak tanır. Veriler, ikinci kopyada, kaynak dosyanın halihazırda mevcut olan veri bloklarına, gerçek kopyaları olmadan referanslar kullanılarak kullanılır. OpenZFS 2.2.1'de sorunu engellemek için blok klonlama mekanizması varsayılan olarak devre dışı bırakılmış ve bu modun desteğini döndürmek için zfs_bclone_enabled ayarı eklenmiştir.
Daha sonra geliştiriciler, OpenZFS 2.1.x dalına sahip yapılandırmalarda sorunun tekrarlandığını bildirdi. Sorunun coreutils paketinin daha eski sürümlerine sahip sistemlerde ortaya çıktığı varsayımı da doğrulanmadı; hata FreeBSD'de başarıyla tekrarlandı. Linux-Coreutils 9.4'ün en son sürümünü içeren dağıtımlar.
Dosya bozulması oldukça nadir durumlarda meydana gelir; örneğin, Gentoo'da "emerge -1 dev-lang/go" komutunu çalıştırmak, Go araç setinin /usr/lib/go/pkg/tool/ dizininde bozuk dosyalarla kurulmasıyla sonuçlanır. linux_amd64/ dizin.compile. Openzfs sürüm 1'te “zfs_dmu_offset_next_sync=2.1.4” varsayılan parametresi ayarlandıktan sonra hatanın ortaya çıkmaya başladığı varsayılmaktadır. Hatanın kaynağı henüz belirlenemedi. Hatayı engellemek için önerilen bir geçici çözüm olarak "/sys/module/zfs/parameters/zfs_dmu_offset_next_sync" parametresinin 0'a ayarlanması önerilir.
Kaynak: opennet.ru
