Kent Overstreet ha publicado la versión 1.37.0 del sistema de archivos Bcachefs. La versión abarca dos paquetes: bcachefs-kernel-dkms con un módulo del núcleo que se compila utilizando el sistema DKMS (Dynamic Kernel Module Support), y bcachefs-tools con la utilidad bcachefs que se ejecuta en espacio de usuario, implementando comandos para crear (mkfs), montar, recuperar y verificar el FS. Los paquetes se han compiulado para Debian, Ubuntu, Fedora, openSUSE, NixOS y Arch Linux. El módulo DKMS es compatible con núcleos de Linux a partir de 6.16.
En la nueva versión:
- Se ha estabilizado y declarado lista para su uso general la compatibilidad con códigos de corrección de errores, que permiten recuperar datos dañados de manera similar a RAID 5/6. La implementación se basa en la codificación de Reed-Solomon, que puede corregir hasta N errores en el stripe en presencia de N bloques redundantes. Se asegura la recuperación automática de stripes degradados. Se ha añadido la posibilidad de aplicar códigos de recuperación en configuraciones con dispositivos de diferentes tamaños.
- Se ha añadido soporte para el núcleo de Linux 7.0 en desarrollo.
- Se han implementado nuevos comandos "subvolume list" para mostrar subvolúmenes con filtrado y ordenación; "subvolume list-snapshots" para mostrar snapshots en forma de árbol; "subvolume reflink-option-propagate" para aplicar parámetros de entrada/salida de archivo, tales como compresión, suma de verificación, número de réplicas y lista de dispositivos objetivo, a los extents del archivo.
- Se ha estabilizado la operación de retroceso (rewind) del registro.
- Se asegura la recuperación automática al usar dispositivos con soporte incorrecto para comandos que restablecen operaciones de escritura en caché (flush y FUA).
- Se ha acelerado la recuperación después de un cierre incorrecto.
- Se ha mejorado el rendimiento del FS que abarca múltiples dispositivos.
- Las utilidades bcachefs que se ejecutan en espacio de usuario han sido reescritas en Rust. En el futuro se planea reescribir en Rust los componentes del FS que operan a nivel del núcleo. Se ha iniciado el trabajo en el uso de herramientas Verus para la verificación formal del código en Rust.
El proyecto Bcachefs desarrolla un sistema de archivos que tiene como objetivo combinar la funcionalidad avanzada característica de Btrfs y ZFS, con el nivel de rendimiento, confiabilidad y escalabilidad típico de XFS. Bcachefs admite capacidades como la inclusión de varios dispositivos en una partición, capas de almacenamiento en múltiples niveles (capa inferior con datos de uso frecuente basados en SSD rápidos, y capa superior con datos menos demandados en discos duros), replicación (RAID 1/10), almacenamiento en caché, compresión de datos transparente (modos LZ4, gzip y ZSTD), instantáneas, verificación de integridad mediante sumas de verificación, códigos de corrección de errores, y almacenamiento de información en forma cifrada (se utilizan ChaCha20 y Poly1305).
Fuente: opennet.ru
