Le projet OpenZFS 2.2.1, qui développe l'implémentation du système de fichiers ZFS pour Linux et FreeBSD. Cette version se distingue notamment par l'ajout de la prise en charge du noyau. Linux 6.6 et une tentative d’éliminer le problème qui conduit à la corruption des données (mise à zéro de certains blocs) dans les fichiers après leur copie.
Initialement, il était supposé que le problème n'apparaissait que dans la branche 2.2.x et était dû à une erreur dans le mécanisme de clonage de blocs inclus dans OpenZFS 2.2.0, qui vous permet de créer une copie d'un fichier ou d'une partie de celui-ci sans duplication. données, en utilisant dans la deuxième copie des références à des blocs de données déjà existants du fichier source sans leur copie réelle. Dans OpenZFS 2.2.1, pour bloquer le problème, le mécanisme de clonage de blocs a été désactivé par défaut et le paramètre zfs_bclone_enabled a été ajouté pour rétablir la prise en charge de ce mode.
Par la suite, les développeurs ont indiqué avoir reproduit le problème sur des configurations utilisant la branche OpenZFS 2.1.x. L'hypothèse selon laquelle le problème se manifesterait sur des systèmes utilisant des versions plus anciennes du paquet coreutils n'a pas non plus été confirmée : l'erreur a été reproduite avec succès sous FreeBSD et Linux-distributions avec la dernière version de coreutils 9.4.
La corruption de fichiers se produit dans des circonstances assez rares. Par exemple, l'exécution de la commande "emerge -1 dev-lang/go" dans Gentoo entraîne l'installation du kit d'outils Go avec des fichiers corrompus dans le répertoire /usr/lib/go/pkg/tool/. répertoire linux_amd64/.compiler. On suppose que l'erreur a commencé à apparaître après avoir défini le paramètre par défaut « zfs_dmu_offset_next_sync=1 » dans openzfs version 2.1.4. La source de l'erreur n'a pas encore été identifiée. Comme solution de contournement recommandée pour bloquer l'erreur, il est proposé de définir le paramètre « /sys/module/zfs/parameters/zfs_dmu_offset_next_sync » sur 0.
Source: opennet.ru
