For anyone interested, what I was doing was creating a ring using #io_uring that I shared between say 20 threads. Then in each of those threads I opened a file, wrote to it, and closed the file. They were all doing this to the same file. About 1/3 of the time one of the write operations would just get lost and never complete. As far as I know I'm doing io_uring right, so unless there is a but in the rust library I'm using that I haven't found, Linux has a bug.