1

ファイルの内容がディスクに書き込まれる特定のポイントを超えることが非常に重要なコードをいくつか書きました

ジャーナルでボリュームの整合性が保証されるように、ext4 を使用しています。

私のファイルが実際にディスク上にあり、クラッシュの際にジャーナルを再生する際のエラーに対して無防備であることを保証するには、flush() 以外に何かする必要がありますか? フラッシュの契約は、コンテンツがディスク上にあり、すべてのバッファ/キャッシュがフラッシュされるということだと思います

4

1 に答える 1

2

flush()すべてのプロセスがファイルを同じ状態で参照できるようにしますが、すべてのバイトがディスクに書き込まれることは保証しません。fsync()orをさらに呼び出すfdatasync()必要があります。

于 2012-08-18T19:25:26.880 に答える