Linuxでは、mount -o remount,ro
ファイルシステムのバッファ/キャッシュがフラッシュされますか、sync
それを達成するために実行する必要がありますか?
答え1
それしなければならないキャッシュをフラッシュします。はい。
このコードパスにはいくつかの脆弱性があると言えば十分です。一箇所では実装されず、個々のファイルシステムで実装されます。例えばext2_remount() は sync_filesystem() を呼び出す必要があります。。
さらに、私が知っているすべてのユースケースでシステムコールで動作しますsync()
。したがって、それに依存してカーネルに問題が発生した場合、問題を最初に発見できる「特権」を持つことができます。
特に注意を払いたい場合は使用できます。これは他のファイルシステムとの干渉を避けるのでsync -f /my/mounted/filesystem/
望ましいです。sync
これはLinuxシステムコールを使用しますsyncfs()
。
答え2
~からウィキペディア
ファイルシステムがアンマウントされている場合、または読み取り専用モードで再マウントされている場合(たとえば、シャットダウン前など)、バッファはフラッシュされます。