El proyecto OpenZFS 2.2.1, que desarrolla la implementación del sistema de archivos ZFS para Linux y FreeBSD. Esta versión destaca por la incorporación de soporte para el kernel. Linux 6.6 y un intento de eliminar el problema que lleva a la corrupción de datos (puesta a cero de algunos bloques) en los archivos después de que se copian.
Inicialmente, se creía que el problema era específico de la rama 2.2.x y que se debía a un error en el mecanismo de clonación de bloques incluido en OpenZFS 2.2.0. Este mecanismo permite crear una copia de un archivo o parte de él sin duplicar datos, utilizando referencias a bloques de datos existentes en el archivo original en la segunda copia sin copiarlos realmente. En OpenZFS 2.2.1, la clonación de bloques se desactivó por defecto para mitigar el problema, y se añadió la opción zfs_bclone_enabled para restaurar la compatibilidad con este modo.
Más tarde, los desarrolladores informaron haber reproducido el problema en configuraciones con la rama OpenZFS 2.1.x. La suposición de que el problema se manifiesta en sistemas con versiones anteriores del paquete coreutils tampoco se confirmó: el error se reprodujo con éxito en FreeBSD y Linux-distribuciones con la última versión de coreutils 9.4.
La corrupción de archivos ocurre en circunstancias relativamente raras. Por ejemplo, ejecutar el comando "emerge -1 dev-lang/go" en Gentoo provoca la instalación de las herramientas Go, lo que corrompe los archivos del directorio /usr/lib/go/pkg/tool/linux_amd64/compile. Se cree que el error comenzó a manifestarse tras configurar el parámetro "zfs_dmu_offset_next_sync=1" por defecto en openzfs 2.1.4. Aún no se ha identificado el origen del error. La solución recomendada es configurar el parámetro "/sys/module/zfs/parameters/zfs_dmu_offset_next_sync" a 0.
Fuente: opennet.ru
