Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
ファイルの内容がディスクに書き込まれる特定のポイントを超えることが非常に重要なコードをいくつか書きました
ジャーナルでボリュームの整合性が保証されるように、ext4 を使用しています。
私のファイルが実際にディスク上にあり、クラッシュの際にジャーナルを再生する際のエラーに対して無防備であることを保証するには、flush() 以外に何かする必要がありますか? フラッシュの契約は、コンテンツがディスク上にあり、すべてのバッファ/キャッシュがフラッシュされるということだと思います
flush()すべてのプロセスがファイルを同じ状態で参照できるようにしますが、すべてのバイトがディスクに書き込まれることは保証しません。fsync()orをさらに呼び出すfdatasync()必要があります。
flush()
fsync()
fdatasync()