De uma perspectiva de sistema de arquivos usando ext3 ou ext4 com opções padrão, normalmente você terá consistência de travamento suficiente. Você certamente não sofrerá perdas ou danos ao sistema de arquivos em arquivos que não foram gravados antes da perda de energia.
Existem muitas considerações sobre como lidar com a consistência de falhas em qualquer sistema de arquivos. Se o seu aplicativo apenas criar novos arquivos ou sobrescrever arquivos existentes, criando um arquivo temporário e substituindo atomicamente por renomeação, o modo data = ordered default do ext4 ficará bem. Embora até que uma chamada para fsync () no arquivo E da entrada de diretório seja concluída, ou o sistema operacional libera seu cache, não há garantia de que os dados estarão lá após uma falha de energia. Isso também pressupõe que seus dispositivos de armazenamento honrem o fsync ().
Se o aplicativo precisar garantir a consistência entre os metadados e dados do arquivo sem se preocupar com o desempenho, você poderá usar data = journal para que todas as alterações nos arquivos e metadados do sistema de arquivos sejam registradas em diário, em vez de apenas metadados. Isso evitará situações de gravação incompletas, como um tamanho de arquivo ficando maior, mas os dados que foram acrescentados foram perdidos e substituídos por caracteres nulos.