Pular para o conteúdo

RFC do BeamFS: um sistema de arquivos com Reed-Solomon para o Linux

O BeamFS, uma RFC de 18 patches para o Linux, grava cada bloco como palavras de código Reed-Solomon para reparar bits invertidos em um único disco, ao custo de 7% do espaço.

Por Tech AI Wire Team

3 min de leitura

XLinkedIn
A small unbranded single-board computer with a USB flash drive plugged in, lying on a gray anti-static mat in an electronics lab beside a ruggedized aluminium enclosure.

Em números

patches in the BeamFS RFC series
18
of each 4,096-byte block spent on overhead
7%
lines inserted across 27 files
18,045

Aurelien Desbrieres enviou o BeamFS, um novo sistema de arquivos para o Linux, aos desenvolvedores do kernel como uma série de 18 patches em forma de pedido de comentários (RFC) em 19 de outubro de 2026. Ele foi criado para reparar dados danificados em um único disco, e não só para detectá-los. Essa é uma tarefa que os sistemas de arquivos do Linux costumam deixar para uma segunda cópia dos dados.

O que o BeamFS faz

A mensagem de apresentação da RFC descreve o BeamFS como "um sistema de arquivos de dispositivo de bloco que corrige bytes corrompidos no próprio lugar, em um único dispositivo". Ele foi publicado na linux-fsdevel, a lista de discussão onde o trabalho em sistemas de arquivos do kernel é revisado.

O reparo vem dos códigos Reed-Solomon. São códigos de correção de erros que adicionam bytes de verificação extras aos dados, para que um leitor consiga reconstruir bytes que foram invertidos.

O BeamFS grava cada bloco de dados como dezesseis palavras de código RS(255,239) intercaladas. Cada palavra de código contém 239 bytes de dados mais bytes de verificação e pode corrigir até oito símbolos defeituosos. Toda leitura decodifica o bloco. Se o BeamFS não conseguir garantir o resultado, a leitura falha com um erro (-EIO) em vez de devolver bytes errados.

A proteção não sai de graça. No layout padrão, "288 bytes de cada 4096 (7%) são sobrecarga", diz a mensagem de apresentação.

De onde ele veio

O BeamFS nasceu do FTRFS, uma proposta anterior do mesmo autor que travou no início deste ano, informa o Phoronix. O texto da LWN sobre a RFC do FTRFS, enviada em 13 de abril de 2026, descreveu o FTRFS como "armazenamento confiável em ambientes com radiação intensa". Ele era voltado para Linux embarcado no espaço e em outros ambientes hostis.

O Phoronix diz que o FTRFS mirava primeiro computadores de bordo de satélites e salas de radioterapia. O BeamFS mantém esse foco em um único dispositivo de armazenamento em locais sujeitos a radiação. Seu README o chama de "sistema de arquivos Linux resiliente a EM", ou seja, um sistema que resiste a erros de bit causados por efeitos eletromagnéticos. Mas ele tem seu próprio formato em disco, então é um novo sistema de arquivos, e não uma revisão do FTRFS.

A série é grande: 27 arquivos alterados e 18.045 linhas adicionadas. O autor diz que o código foi preparado com o Claude, o modelo de IA da Anthropic, sob a direção do autor. Cada patch registra isso em uma tag Assisted-by, o rótulo que os mantenedores do kernel concordaram recentemente em abandonar.

O que os testes mostram

A mensagem de apresentação traz estes resultados do BeamFS 0.1.26 no Linux 7.3-rc5:

TesteResultado
Grupo auto do xfstests, x86-64122 dos 122 testes executados passaram
Grupo auto do xfstests, aarch64122 dos 123 testes executados passaram
Execução separada, qemux86-64128 de 128 passaram
Execução separada, qemuarm64129 de 129 passaram
Erros de um único bit emuladosNunca devolveu dados errados

Nos testes de erro, o BeamFS devolveu o arquivo correto em todos os casos menos um, em que recusou a leitura. O ext4 e o ext3 devolveram dados corrompidos sem avisar, diz o README do projeto. O Btrfs recusou a leitura.

O autor também lista as lacunas. O desempenho não foi medido. No máximo dois símbolos defeituosos chegaram a uma mesma palavra de código, então o limite de oito símbolos nunca foi testado. O BeamFS não tem journal nem copy-on-write, e "um desligamento não limpo fica a cargo do fsck.beamfs".

O README é mais direto: a versão 0.1.26 tem defeitos conhecidos que podem causar perda de dados, enfraquecer a segurança ou travar o kernel. Ele desaconselha guardar nele dados insubstituíveis.

O que isso significa para os desenvolvedores

O BeamFS é uma proposta, não um recurso incorporado ao kernel. A série nem sequer compila no Linux mainline até que uma mudança separada e pendente no kernel seja incorporada. Veja o que vale fazer com ele:

  • Não use para dados reais ainda. O próprio README do autor alerta para perda de dados e travamentos do kernel. Teste só em uma máquina virtual, com arquivos descartáveis.
  • Saiba o que ele acrescenta. Sistemas de arquivos como o btrfs conseguem detectar um bloco danificado, mas consertá-lo geralmente exige uma segunda cópia dos dados. O BeamFS tenta consertar o bloco a partir dos próprios bytes de verificação, em um único dispositivo. Isso serve para pequenos sistemas embarcados que não comportam um espelho.
  • Observe as duas questões em aberto. O autor pergunta se a correção dentro de um sistema de arquivos "para um dispositivo pequeno" tem lugar no fs/. A segunda pergunta é: "Um journal é pré-condição para continuar a revisão, ou pode vir depois?" As respostas vão decidir se o BeamFS vai a algum lugar.
  • Acompanhe a revisão assistida por IA. O BeamFS chega dias depois do MeshXFS, outro sistema de arquivos escrito com ajuda de IA. A forma como os mantenedores vão lidar com uma série de 18.045 linhas assistida por IA vai mostrar que nível esse tipo de código precisa alcançar.

Fontes

  1. BeamFS Sent Out As Newest File-System Proposal For Linux - Phoronix
  2. [RFC PATCH 00/18] beamfs: Reed-Solomon protected filesystem - linux-fsdevel mailing list
  3. beamfs - resilient filesystem - GitHub
  4. ftrfs: Fault-Tolerant Radiation-Robust Filesystem - LWN.net

Artigos relacionados