A comunidade OpenZFS anunciou, em 12 de maio de 2024, a disponibilização da versão zfs-2.4.2. O release, assinado com a chave GPG do mantenedor Tony Hutter, traz mais de 80 alterações, entre correções de bugs, melhorias de desempenho e ampliação da compatibilidade com kernels Linux (4.18 a 7.0) e versões do FreeBSD a partir da 13.3.
Principais novidades da ZFS 2.4.2
- Suporte a kernels Linux 4.18‑7.0 – inclui ajustes para Linux 7.1 (acesso direto a
dentry d_alias) e correções específicas para Linux 7.0 (API de montagem baseada emfs_context). - Compatibilidade com FreeBSD 13.3+ e 14.0+ – testes de CI adicionados para FreeBSD 15.1 prerelease.
- Implementação de POSIX_FADV_DONTNEED – adicionada ao código‑base, permitindo liberação de cache de forma mais eficiente.
- Correções de integridade – resolução de erros raros de checksum após rebuild, prevenção de corrupção em range trees e correção de UAF em
dmu_write_direct_done(). - Melhorias no sistema de montagem – novo parser de opções, uso de
mount_setattrpara remount seletivo e remoção de APIs obsoletas. - Atualizações de CI e build – inclusão de Fedora 44, suporte a ARM, remoção de artefatos ZIP e aprimoramento do script
qemu-1-setup.sh.
Correções de bugs relevantes
| Área | Problema corrigido |
|---|---|
initramfs |
Variável renomeada incorretamente (issue #18442) |
POSIX_FADV_DONTNEED |
Falha em arquivos de bloco único (issues #18399, #18489) |
vdev_rebuild_range() |
Commit de transação não realizado (issue #18276) |
dmu_direct |
Uso de ponteiro após liberação (UAF) (issue #18440) |
range_tree |
Corrupção por corrida de atualização (issue #18235) |
snapshot automount |
Deadlock durante zfs recv concorrente (issue #18415) |
draid |
Erros de checksum após rebuild em discos degradados (issue #18414) |
zpl_fadvise() |
Refatoração para melhorar desempenho (issue #18395) |
libzfs |
Remontagem seletiva usando mount_setattr (issue #18257) |
Impacto para administradores e desenvolvedores
- Estabilidade: as correções de deadlock, UAF e corrupção de árvore de intervalos reduzem significativamente o risco de falhas em ambientes de produção.
- Desempenho: o suporte ao novo conselho de cache POSIX pode melhorar a latência em workloads intensivos de leitura.
- Compatibilidade: a ampliação do suporte a kernels Linux recentes garante que usuários de distribuições modernas (Fedora 44, Debian/Ubuntu com kernel 7.x) possam atualizar o ZFS sem recompilações adicionais.
Como atualizar para o ZFS 2.4.2
- Obter o código-fonte
git clone https://github.com/openzfs/zfs.git cd zfs git checkout zfs-2.4.2 - Compilar seguindo as instruções oficiais – consulte o README da tag para detalhes sobre dependências e opções de configuração.
- Instalar
sudo make install sudo depmod -a sudo modprobe zfs
Importante: verifique a compatibilidade da sua distribuição e kernel antes da atualização. Caso utilize versões de kernel fora do intervalo suportado, considere aplicar patches específicos ou permanecer na versão anterior.
Onde encontrar mais informações
- Página oficial do release: https://github.com/openzfs/zfs/releases/tag/zfs-2.4.2
- Documentação completa e guias de migração: https://openzfs.github.io/openzfs-docs/
- Canal de comunicação da comunidade OpenZFS no GitHub para reportar bugs ou sugerir melhorias.
ZFS 2.4.2 demonstra o comprometimento contínuo da comunidade OpenZFS em melhorar a confiabilidade e a compatibilidade do sistema de arquivos, consolidando sua posição como escolha robusta para armazenamento em Linux e FreeBSD.