axboe / liburing

Library providing helpers for the Linux kernel io_uring support
MIT License
2.7k stars 394 forks source link

io_uring_submit: Device or resource busy (EBUSY) reports this error. What situations can cause this error? #1155

Open aidosww opened 1 month ago

axboe commented 1 month ago

Please include some actual details on what you are doing, what devices are involved, what kernel, etc. As it stands, this question is rather useless.

aidosww commented 1 month ago

Please include some actual details on what you are doing, what devices are involved, what kernel, etc. As it stands, this question is rather useless.

I am using kernel 5.10, the default io_uring configuration. When I judge that io_uring queue is full, I submit read file tasks with io_uring_submit, and after running for a period of time, the above error is reported.

axboe commented 1 month ago

Please try a more recent and supported kernel, the ancient ones don't have proper -EAGAIN handling on the storage side (which I'm guessing is what you are doing, you didn't really answer that part). Anything 6.x should be fine.

In general, 5.10 and similar are just too old to be supported.

aidosww commented 1 month ago

Please try a more recent and supported kernel, the ancient ones don't have proper -EAGAIN handling on the storage side (which I'm guessing is what you are doing, you didn't really answer that part). Anything 6.x should be fine.

In general, 5.10 and similar are just too old to be supported.

Thank you very much! In fact, we can only use the 5.10 kernel in our Development Environment. I am indeed developing a storage I/O interface based on liburing and have encountered many problems. 1、Can I solve the above problem by repeatedly calling the io_uring_submit interface? 2、What specific problem caused this error?