ajudar a garantir que o sistema de arquivos esteja em um estado consistente após um desligamento imundo
A primeira coisa a se notar é que o XFS, o reiser e a maioria das configurações do ext implementam apenas o diário de meta-dados, que consiste em evitar o fsck. O diário nem sempre é reproduzido na inicialização - ele pode ser descartado se estiver incompleto.
Existem sistemas que suportam o diário completo de dados - mas, na prática, o nível de garantia que eles fornecem apenas o diário de meta-dados é muito pequeno em cenários do mundo real.
Portanto, um 'estado inconsistente' e os problemas corrigidos pelo fsck são incompatíveis entre os metadados e os próprios arquivos. Para evitar isso, o sistema operacional grava as alterações de metadados propostas no diário, depois grava os dados reais no disco e aplica as alterações de metadados que são replicadas no diário no disco. O único problema é que o controlador de disco armazenará em buffer e potencialmente reordenará as solicitações. Para evitar isso, a maioria dos sistemas de arquivos diários implementa barreiras: eles separam cada operação e esperam que o disco reconheça que concluiu a operação. Mas muitos discos modernos realmente reconhecem a conclusão das gravações antes dos dados serem confirmados. Portanto, as coisas podem ficar confusas.
Um fsck ainda é necessário após um desligamento imundo e por que
A maioria dos sistemas de arquivos mantém uma contagem de montagem - uma vez que essa contagem é atingida, um fsck completo será acionado na próxima tentativa de montar o disco. O motivo é que os dados do disco podem ser corrompidos mesmo quando não estão sendo gravados explicitamente, mesmo sem erros no software. O comentário de psusi acima está errado.