スパースファイルサポートループデバイスに対して直接I / Oを有効にするのは安全ですか?

スパースファイルサポートループデバイスに対して直接I / Oを有効にするのは安全ですか?

スパースファイルをインポートしてファイルシステムにマウントしたいです。パフォーマンスのオーバーヘッドが無視できるほど良いのですが、これによりデータ損失のリスクが発生しない場合にのみ可能です。直接I / Oループデバイスを使用してスパースファイルをマウントするのは安全ですか?

一方では、LWNに関する今回の発表ユーザーがファイルサポートループデバイスから直接I / Oを有効にすることをお勧めします。本当に良いことです!

一方、直接I/Oに関するext4 wiki記事状態:

...たとえば、書き込みがファイルサイズを拡張したり、書き込みシステムコールが以前にブロックが割り当てられていないスパースファイルに「穴」を書き込むなど、O_DIRECT書き込みにブロック割り当てが必要な場合はどうなりますか? 。一部のLinux実装では、データはページキャッシュを通過するようにバッファリングされたI / Oに置き換えられます。現在の実装では、I / Oが実行されるのを待ちます(もちろん、ストレージデバイスが信頼できるストレージにデータを書き込むのに必ずしも障壁があるわけではありません)。ただし、Linuxはブロック割り当てに関するメタデータがファイルシステムにコミットされるのを待ちません。したがって、割り当てが作成された後にシステムがクラッシュした場合、システムの後でアプリケーションがデータにアクセスできるという保証はありません。再起動しました...

ベストアンサー1

おすすめ記事