Limpe o desligamento, execute a sincronização depois de umount

2

Faz algum sentido executar sync após umount durante um desligamento normal? Eu assumo que umount irá gravar no disco quaisquer dados em cache.

O único caso estranho em que consigo pensar é quando você tem algum dispositivo de loop (como um contêiner LUKS) na parte superior de seu disco real.

Umount pode tentar desmontar a partição primeiro. E pode não ser capaz de desmontar uma partição até que o dispositivo de loop seja desmontado. Mas, de alguma forma, sincronizaria os dados neste caso?

    
por Pierre B 17.10.2017 / 17:12

2 respostas

1

sync afeta apenas os sistemas de arquivos, não bloqueia dispositivos.

Uma pergunta interessante (não relacionada à desmontagem) que não posso responder, porém, é esta: em qual ordem sync trata os sistemas de arquivos? Se ele primeiro esvaziar o cache do sistema de arquivos raiz e depois do sistema de arquivos do dispositivo de loop, o segundo flush cria novos dados de caches para o sistema de arquivos raiz, de modo que nunca haja um momento em que tudo esteja completamente limpo. Mas o kernel pode esperar até que todos os caches do sistema de arquivos informem que estão limpos antes de retornar o sync() syscall.

Mas você pode chamar sync com um argumento de arquivo e chamá-lo várias vezes na ordem correta se você não confiar no kernel para fazer isso direito ...

    
por 20.10.2017 / 22:53
0

Não, não faz sentido executar sync após (um sucesso) umount .

O umount já sincroniza as gravações pendentes no sistema de arquivos. O comando sync sincroniza os dados do sistema de arquivos em cache dos sistemas de arquivos montados.

O dispositivo dm-crypt configurado pela LUKS atualmente passa corretamente pelos comandos flush (cf. cryptsetup FAQ item 2.13 Se eu mapear um sistema de arquivos registrados usando dm-crypt / LUKS, ele ainda fornecerá suas garantias transacionais habituais? ).

    
por 26.08.2018 / 18:46

Tags