Linux 7.3-rc3: Btrfs resolve falhas com fsid e boot sem initramfs

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Atualização corrige falhas de boot e VPN no Btrfs!

Linus Torvalds integrou neste fim de semana um novo conjunto de correções críticas para o sistema de arquivos Btrfs no Kernel Linux 7.3-rc3. Os patches, enviados pelo mantenedor David Sterba, resolvem duas regressões que causavam impacto direto aos usuários: a quebra na derivação de chaves da VPN OpenConnect e falhas de inicialização em sistemas configurados sem initramfs.

Além dos problemas de maior visibilidade, o pacote de atualizações refina o comportamento do Btrfs em cenários de armazenamento em zonas (zoned storage), compressão de dados e integridade estrutural.

O que essas correções mudam na prática

Para a maioria dos usuários, as alterações garantem que o ciclo de testes do Linux 7.3 não introduza quebras em ferramentas de rede e processos de boot personalizados.

Especificamente, se você utiliza o OpenConnect para conexões VPN, uma falha recente no Btrfs fazia com que o identificador do sistema de arquivos mudasse indevidamente, invalidando chaves de segurança. O outro impacto prático envolve administradores de sistemas embarcados ou distribuições altamente customizadas que inicializam o sistema operacional diretamente no disco, sem passar por um disco de RAM inicial (initramfs). Uma falha impedia que o gerenciador de boot identificasse o disco real, travando a inicialização. Ambas as situações foram corrigidas.

Estabilidade do f_fsid e o problema com o OpenConnect

iLBV1VtE linux 7 3 rc3 correcoes btrfs boot vpn 1
Linux 7.3-rc3: Btrfs resolve falhas com fsid e boot sem initramfs 3

O problema de maior impacto estava relacionado ao f_fsid, o identificador do sistema de arquivos. Recentemente, o código do Btrfs havia sido alterado para aplicar um hash dinâmico ao ID com o objetivo de evitar colisões quando sistemas de arquivos clonados fossem montados simultaneamente usando o recurso temp_fsid.

No entanto, a mudança afetou o comportamento padrão. O OpenConnect utiliza o f_fsid estável como parte da sua rotina de derivação de chaves de segurança. A oscilação desse identificador no Btrfs quebrou essa funcionalidade, mesmo que o uso do ID para fins criptográficos não seja considerado a prática mais segura do ponto de vista técnico.

O patch integrado no Linux 7.3-rc3 corrige a lógica, garantindo que o hash dinâmico seja aplicado única e exclusivamente quando a funcionalidade temp_fsid estiver ativa, preservando a estabilidade e a retrocompatibilidade do identificador para o cenário padrão.

Correção para mapeamento do /dev/root

O segundo erro de regressão corrigido afetava o processo de boot de sistemas que operam sem um initramfs. Nesses ambientes, o kernel temporariamente nomeia o sistema de arquivos raiz como /dev/root.

Após a inicialização, quando o sistema escaneia os dispositivos reais, o Btrfs precisa atualizar esse caminho para o nome verdadeiro do dispositivo de bloco para que ferramentas como as sondas do GRUB2 funcionem corretamente. Uma restrição introduzida em atualizações anteriores impedia que o Btrfs renomeasse dispositivos caso o número principal e secundário (dev_t) fosse o mesmo.

O desenvolvedor adicionou uma exceção explícita no arquivo volumes.c. Agora, o Kernel Linux tem permissão para atualizar o nome do dispositivo especificamente quando o registro original for /dev/root, restabelecendo a compatibilidade com esse método de boot.

Refinamentos em compressão, zoned storage e fs-verity

Além das correções voltadas ao usuário final, o merge inclui ajustes internos no funcionamento do sistema de arquivos:

  • Extensões inline e compressão: O Btrfs abortará a criação de uma extensão inline comprimida se o tamanho do arquivo resultante for maior ou igual ao tamanho descompactado. A correção economiza processamento e espaço, evitando o armazenamento de metadados inúteis quando algoritmos (como LZO) não conseguem reduzir o tamanho original de arquivos muito pequenos.
  • Armazenamento em Zonas (Zoned Mode): O suporte a zoned storage foi corrigido para lidar adequadamente com a ativação de zonas em todos os perfis de grupos de blocos RAID suportados (RAID0, RAID1, RAID1C3, RAID1C4 e RAID10).
  • Limpeza do fs-verity: Quando o sistema de arquivos estiver completamente cheio (ENOSPC), o Btrfs agora utilizará a reserva de espaço global para conseguir remover itens do fs-verity, impedindo que falhas de habilitação fiquem travadas permanentemente por falta de cotas de disco.
  • Prevenção de corrupção: Transações serão imediatamente abortadas caso ocorra uma falha ao atualizar o inode durante operações de “hole punching” (liberação de blocos vazios dentro de um arquivo) ou na criação de cópias via reflink, garantindo a consistência dos dados no disco.

A atualização já está disponível na árvore principal e fará parte do lançamento estável do Kernel Linux 7.3, previsto para as próximas semanas.

Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.