# ReiserFS

ReiserFS é um sistema de arquivos usado geralmente em sistemas Linux. Este artigo fornece informações sobre a versão 3.6.x do ReiserFS. Uma nova versão, Reiser4, ainda está inacabada.

## Origem

Criado por Hans Reiser e inicialmente mantido pela empresa The Naming System Venture (Namesys), o ReiserFS foi o primeiro sistema de arquivos com suporte a “journaling” incluído no núcleo Linux 2.4+. São seus patrocinadores as empresas Novell e Linspire, embora a Novell tenha anunciado em Outubro de 2006 que o sistema de arquivos padrão no Suse Linux passou a ser o ext3.

## Características

ReiserFS usa árvores balanceadas para tornar o processo de busca de arquivos, informações sobre segurança e outros metadados mais eficiente. Para arquivos muito pequenos, seus dados podem ser armazenados próximos aos metadados, então, ambos podem ser recuperados com um pequeno movimento do mecanismo da "cabeça" de leitura do disco. Essa propriedade vai contribuir para um melhor desempenho caso uma aplicação necessite abrir muitos arquivos pequenos rapidamente.
No caso de um desligamento incorreto do sistema, o ReiserFS é capaz de recuperar a consistência do sistema de arquivos em pouco tempo e a possibilidade de perda de pastas ou partições é reduzida. Em compensação, os arquivos que eventualmente estiverem sendo gravados no exato momento em que acabou a energia ficarão com seus dados corrompidos, haverá acesso aos arquivos normalmente, mas o conteúdo estará truncado ou incompleto.

### Características técnicas

As principais fontes para a descrição técnica do ReiserFS são: (i) Florian Buchholz; (ii) o código fonte do Linux (disponível em http://www.kernel.org); (iii) o pacote reiserfsprogs, disponível em https://www.kernel.org/pub/linux/kernel/people/jeffm/reiserfsprogs/.
O ReiserFS teoricamente suporta vários tamanhos de bloco: 512, 1024, 4096 e 8192 bytes. Entretanto, até a versão 3.6.21 do reiserfsprogs e até a versão 2.6.32 do Linux, o único tamanho suportado é de 4096 bytes (4 KiB). Um bloco pode ser formatado ou não-formatado. Um bloco formatado pode conter um dentre os seguintes itens: (i) stat, que contém os metadados de um arquivo ou diretório; (ii) diretório; (iii) direto, que contém dados de um arquivo, se seu tamanho for de até 4048 bytes; (iv) indireto, que aponta para blocos não-formatados. Blocos não-formatados armazenam dados de arquivos que ocupam mais que um item direto.

## Desvantagens

Uma desvantagem do ReiserFS é o seu consumo de CPU muito elevado. Utiliza no mínimo 7% da CPU, chegando a usar até 99%, quando a atividade de disco é elevada.

## Futuro

Em 2008, o futuro do ReiserFS foi dado como incerto, em virtude da prisão em 10 de Outubro de 2006 de Hans Reiser, seu criador, e sua condenação em 28 de abril de 2008 pelo assassinato de sua mulher no início de setembro de 2006. Atualmente, devido à paralisação das atividades da Namesys, o projeto ReiserFS está armazenado em kernel.org.
O ReiserFS tem sido discutido para ser removido do kernel do Linux desde o início de 2022 devido à falta de manutenção no upstream e a problemas técnicos inerentes ao sistema de arquivos, como o problema do ano 2038; ele foi depreciado no Linux 5.18 e marcado como obsoleto no Linux 6.6, com remoção completa planejada para o Linux 6.13. O ReiserFS foi removido da linha principal durante o ciclo de desenvolvimento do Linux 6.13.