A corrupção também pode ocorrer na maioria dos discos modernos devido ao reordenamento em disco.
Os discos modernos normalmente fazem reordenamento de solicitações que são usadas para acelerar o desempenho (ao reordenar as gravações para tornar a lista inteira de solicitações menos óbvias), isso é chamado Enfileiramento de comandos com tags .
É possível que a gravação no diário no disco seja atrasada porque é mais eficiente a partir da posição da cabeça atualmente para gravar em uma ordem diferente daquela solicitada pelo sistema operacional como a ordem real, o que significa que os blocos podem ser confirmados antes da execução. revista é.
A maneira de resolver isso é fazer com que o sistema operacional espere explicitamente que o diário tenha sido confirmado antes de enviar mais gravações. Isso é conhecido como uma barreira. A maioria dos sistemas de arquivos não usa isso por padrão e precisaria explicitamente habilitar com uma opção de montagem.
mount -o barrier=1 /dev/sda /mntpnt
A grande desvantagem das barreiras é que elas tendem a desacelerar o I / O para baixo, às vezes dramaticamente (em torno de 30%) e é por isso que elas não estão ativadas por padrão. Além disso, as coisas se tornam doubleplusungood quando você começa a adicionar camadas lógicas sobre discos padrão como LVM ou Raid. O LVM (relativamente recentemente) adicionou suporte de barreira para a maioria das configurações de LV e o mdadm parece ter tido isso por um tempo.