"mount -o remount,ro"はファイルシステムバッファをフラッシュしますか?

"mount -o remount,ro"はファイルシステムバッファをフラッシュしますか?

Linuxでは、mount -o remount,roファイルシステムのバッファ/キャッシュがフラッシュされますか、syncそれを達成するために実行する必要がありますか?

答え1

それしなければならないキャッシュをフラッシュします。はい。

このコードパスにはいくつかの脆弱性があると言えば十分です。一箇所では実装されず、個々のファイルシステムで実装されます。例えばext2_remount() は sync_filesystem() を呼び出す必要があります。

さらに、私が知っているすべてのユースケースでシステムコールで動作しますsync()。したがって、それに依存してカーネルに問題が発生した場合、問題を最初に発見できる「特権」を持つことができます。

特に注意を払いたい場合は使用できます。これは他のファイルシステムとの干渉を避けるのでsync -f /my/mounted/filesystem/望ましいです。syncこれはLinuxシステムコールを使用しますsyncfs()

答え2

~からウィキペディア

ファイルシステムがアンマウントされている場合、または読み取り専用モードで再マウントされている場合(たとえば、シャットダウン前など)、バッファはフラッシュされます。

関連情報