Após mais de dois anos de desenvolvimento, foi lançado o projeto WinBtrfs 1.10, que desenvolve um driver para usar o sistema de arquivos Btrfs na plataforma Windows. O WinBtrfs não é baseado no código Btrfs do kernel Linux, mas é uma implementação alternativa criada do zero. Oferece suporte para Windows XP e versões mais recentes. O driver faz parte do sistema operacional ReactOS e pode ser usado para inicializar o Windows a partir de uma partição com Btrfs. O código foi escrito nas linguagens C/C++ e está disponível sob a licença LGPLv3.
O WinBtrfs suporta a maioria das funcionalidades da versão Linux do Btrfs, incluindo leitura e gravação assíncrona, uso de RAID0/1/10/5/6, cache, auto-detectação de partições, ACL, links simbólicos, subpartições, instantâneas, links duros, arquivos esparsos, alocação antecipada de espaço, compressão, balanceamento, verificação de integridade dos dados, adição e remoção de dispositivos, envio e recebimento de subpartições, alteração do tamanho da partição, somas de verificação avançadas (xhash, sha256, blake2). Entre as funcionalidades específicas do driver, destaca-se a implementação de fluxos de dados alternativos e o mapeamento de identificadores de usuários do Linux e Windows. É possível converter partições NTFS existentes para Btrfs.
Entre as mudanças na nova versão:
- Adicionada a capacidade de registrar imagens bitmap com informações sobre espaço livre.
- Implementada a opção de salvar pequenos arquivos em blocos de metadados (inline) de forma compactada.
- Melhor desempenho em unidades removíveis. Suporte para a criação de arrays RAID em unidades removíveis foi descontinuado.
- Aumentada a confiabilidade da recuperação após erros causados por falta de memória (OOM) ou exaustão de espaço livre no dispositivo (ENOSPC).
- Eliminados os encerramentos inesperados que ocorriam ao mover arquivos entre subpartições e durante a criação simultânea de um grande número de arquivos.
- Corrigido um erro que causava a corrupção da árvore de extensões ao gravar instantâneas.
- Resolvida a situação de deadlock ao trabalhar com links duros.
- Refatoradas as estruturas internas e constantes para se aproximar das variantes usadas no Linux.
- Um assistente AI chamado Claude foi utilizado para revisar as alterações e analisar erros, mas o código continua a ser criado exclusivamente à mão.
Fonte: opennet.ru
