O bcachefs já está maduro o suficiente para ser incluído na ramificação principal do Linux, de acordo com as palavras de seu autor 

BCachefs

Bcachefs é um sistema de arquivos copy-on-write para sistemas operacionais baseados em Linux.

recentemente aids Kent Overstreet, o autor de bcachefs, em seu discurso na conferência LSFMM 2023 sintetizou os resultados do trabalho no Promoção do sistema de arquivos Bcachefs no ramo principal do kernel do Linux e discutiu planos para o desenvolvimento do kernel.

Bcachefs é desenvolvido usando tecnologias já comprovadas no desenvolvimento do dispositivo de bloco Bcache, projetado para armazenar em cache o acesso a discos rígidos lentos em unidades SSD rápidas (incluído no kernel desde a versão 3.10). Bcachefs usa o mecanismo Copy-on-Write (COW), em que as alterações não levam à substituição de dados: o novo estado é gravado em um novo local, após o qual o indicador do estado atual é alterado.

Uma característica do Bcachefs é a suporte para conectar unidades multicamadas, em que o armazenamento é composto por várias camadas: unidades mais rápidas (SSDs) são anexadas à camada inferior, que são usadas para armazenar em cache os dados usados ​​com frequência, e a camada superior forma unidades de maior capacidade e mais baratas que armazenam dados menos demandados. O cache write-back pode ser usado entre as camadas. As unidades podem ser adicionadas e desconectadas dinamicamente de uma partição sem interromper o uso do sistema de arquivos (os dados migram automaticamente).

Sobre o projeto, é mencionado que o objetivo de desenvolvimento do Bcachefs é atingir o nível do XFS em termos de desempenho, confiabilidade e escalabilidade.

Ao fornecer recursos adicionais inerentes ao Btrfs e ZFS, como vários dispositivos em uma partição, layouts de armazenamento multicamada, replicação (RAID 1/10), cache, modos LZ4, gzip e ZSTD, segmentos de estado, verificação de integridade de soma de verificação, a capacidade para armazenar códigos de correção de erros Reed-Solomon, armazenamento de informações criptografadas.

Em termos de desempenho, o Bcachefs está à frente do Btrfs e de outros sistemas de arquivos baseados no mecanismo Copy-on-Write, demonstrando desempenho próximo ao Ext4 e XFS.

Das últimas conquistas no desenvolvimento de Bcachefs, destaca-se a estabilização da implementação de snapshots disponíveis para escrita. Em comparação com o Btrfs, os instantâneos no Bcachefs agora são dimensionados significativamente melhor e estão livres dos problemas inerentes ao Btrfs.

Na prática, o trabalho dos instantâneos foi testado ao organizar os backups do MySQL. O Bcachefs também trabalhou muito para melhorar a escalabilidade: o sistema de arquivos teve um bom desempenho em testes de armazenamento de 100 TB e espera-se que o Bcachefs seja implantado em armazenamento de 1 PB em um futuro próximo.

Além disso, destaca-se também que adicionado um novo modo nocow para desabilitar o mecanismo "cópia na gravação". Durante o verão, eles planejam trazer a implementação de códigos de correção de erros e RAIDZ para um estado estável, bem como resolver problemas com alto consumo de memória ao restaurar e verificar sistemas de arquivos com o utilitário fsck.

de planos para o futuro o d é mencionadoQuero utilizar a linguagem Rust no desenvolvimento de Bcachefs. Segundo o autor de Bcachefs:

Ele gosta de codificar, não depurar código, e agora é uma loucura escrever código em C quando há uma opção melhor. Rust já está envolvido no Bcachefs na implementação de alguns dos utilitários do espaço do usuário. Além disso, a ideia de reescrever completamente Bcachefs em Rust gradualmente está sendo idealizada, pois o uso dessa linguagem economiza significativamente o tempo de depuração.

Sobre mover Bcachefs para o ramo principal do kernel do Linux, o processo de adoção pode ser adiado devido ao grande tamanho das mudanças (2500 patches e cerca de 90 mil linhas de código), o que é difícil de revisar. Para acelerar a revisão, alguns desenvolvedores sugeriram dividir a série de patches em partes menores e mais logicamente separadas.

Durante a discussão, alguns participantes também chamaram a atenção para o desenvolvimento do projeto por um desenvolvedor e o perigo de o código ficar sem manutenção caso algo acontecesse com seu desenvolvedor (dois funcionários da Red Hat estão interessados ​​no projeto, mas seu trabalho ainda está pendente ). correções limitadas de bugs).

Em maio, foi proposto que fosse revisado e incluído na parte principal do kernel do Linux. A prontidão para rever a implementação do Bcachefs antes da sua inclusão no Kernel foi anunciada no final de 2020, sendo que a versão atual dos patches tem em conta o feedback e as deficiências identificadas durante a revisão anterior.

fonte: https://lwn.net/