MDEV-25760: Resubmit IO job on -EAGAIN from io_uring
The server still may abort if there is no enough free space in the ring buffer to resubmit the IO job, but the behavior is equal to the failure of os_aio() -> submit_io().
This commit is contained in:
parent
74a0a9877b
commit
28e362eaca
@ -162,6 +162,13 @@ private:
|
||||
|
||||
io_uring_cqe_seen(&aio->uring_, cqe);
|
||||
|
||||
if (res == -EAGAIN) {
|
||||
// If we need to resubmit the IO operation, but the ring is full,
|
||||
// then just go the same path as for any other error codes.
|
||||
if (!aio->submit_io(iocb))
|
||||
continue;
|
||||
}
|
||||
|
||||
iocb->m_internal_task.m_func= iocb->m_callback;
|
||||
iocb->m_internal_task.m_arg= iocb;
|
||||
iocb->m_internal_task.m_group= iocb->m_group;
|
||||
|
Loading…
x
Reference in New Issue
Block a user