De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
No artigo anterior vimos que o Btrfs calcula automaticamente checksums para todos os blocos de dados armazenados. Sempre que um arquivo é lido, o sistema pode verificar se seu conteúdo continua exatamente igual ao que foi gravado originalmente. Essa característica permite detectar corrupção silenciosa de dados, um problema que normalmente passa despercebido em sistemas de arquivos tradicionais.
Entretanto, existe uma limitação importante nessa estratégia. Um arquivo que nunca é acessado também nunca tem seu checksum verificado. Imagine um backup criado há dois anos, armazenado em um disco que permanece praticamente o tempo todo desligado. Se algum bloco sofrer corrupção durante esse período, o problema somente será descoberto quando alguém tentar restaurar aquele backup. Em uma situação de emergência, essa talvez seja a pior hora possível para descobrir que o arquivo está danificado.
Foi justamente para resolver esse problema que o Btrfs incorporou o mecanismo conhecido como scrubbing.
Em português, a palavra "scrub" pode ser traduzida como "esfregar" ou "limpar". No contexto do armazenamento, porém, seu significado é um pouco diferente. O processo consiste em percorrer sistematicamente todos os blocos armazenados no sistema de arquivos, lendo cada um deles e recalculando seus respectivos checksums. Sempre que uma inconsistência é encontrada, o Btrfs toma as providências necessárias.