Não tenho certeza se o cache de gravação das unidades de disco corrigirá o problema, pois parece que você está usando um dispositivo de loop. Portanto, ainda há o cache / arquivo da página entre o sistema de arquivos Btrfs e o disco real. O mesmo tipo de problema existe para sistemas de arquivos de registro no diário detalhado aqui para loop- AES . Assim, quando os dados são sincronizados com o seu dispositivo de loop, eles podem não estar no disco real, mas apenas em um cache, esperando para serem solicitados e gravados.
O ext4 não suporta a opção sync
mount que o ext2 / 3 fez para desativar o armazenamento em cache. devido às camadas entre eu não tenho certeza, mesmo que você obtenha uma recuperação eficaz. Eu não sei o suficiente sobre os internals, infelizmente, pelo menos mais dados iriam para o disco.
Da mesma forma, você pode limitar o problema ajustando o cache de páginas para que o sistema grave no disco com mais frequência. O cache de páginas do Linux informa seus valores em /proc/meminfo
em
"Dirty" - for pages that are currently dirty
"Writeback" - for dirty pages that are being written out to disk.
Existem arquivos em /proc/sys/vm/
que informam o status e controlam os threads flush que gravam dados no disco.
Você pode colocar um valor pequeno (maior que 8096 ou 2 páginas) em /proc/sys/vm/dirty_background_bytes
para tornar o plano de fundo pdflush processe mais ativamente ou /proc/sys/vm/dirty_bytes
para fazer um acionamento de processo flush mais ativamente (para uma penalidade de desempenho, ou pelo menos mais disco escreve em geral).
Acho improvável que o cache de gravação de hardware seja o principal problema. Se você estivesse apenas indo direto para o dispositivo via dm-crypt, então eu olharia para lá primeiro. Em qualquer caso, os caches de gravação IDE e SATA podem ser desativados com hdparm -W0 /dev/xdx
.
Além disso, ao usar um sistema de arquivos, tecnicamente experimental, de uma forma mais abrangente do que a maioria, você pode ter mais sorte com um fs mais maduro, no qual as pessoas já tropeçaram nos problemas. Se você precisa de Btrfs, a melhor aposta seria fazer a criptografia para uma partição física.