アトミック書き込みを行い、io_uringを使用して通知できますか?

アトミック書き込みを行い、io_uringを使用して通知できますか?

O_APPENDで開いたファイルに追加し、データが書き込まれる場所を知りたいです。システムコール間にコンテキスト切り替えがある可能性があり、他の内容がファイルの末尾に書き込まれるため、作成してからTell呼び出しを行うことは役に立ちません。だから私は一度の呼び出しでこれを行うことができることを望みます。

私は同期の問題を解決するために、O_APPENDで開かれたファイルが自動的に[1]に追加される可能性がある属性を利用する追加の専用データベースを開発しようとしたので、これを望みました。

io_uringに関するドキュメントを見ましたが、わかりませんが、これは可能になるようです。私は正しいですか?それでは、何をすべきですか?

[1] POSIX標準、マニュアルページ、およびLinusのEメールを読むと、すべてO_APPENDモードで開いたファイルの末尾に4KiB未満のデータを追加することがアトミックであることを示しています。 NFSはこの要件に違反しますが、NFSでは機能しないことは許容される制限です。

ベストアンサー1

おすすめ記事