Merge "If there an error, cqe field is not allocated by io_uring_wait_cqe(); return the error immediately."
This commit is contained in:
commit
ca0c5c5b10
2 changed files with 4 additions and 6 deletions
|
|
@ -288,9 +288,6 @@ bool Worker::MergeOrderedOpsAsync() {
|
|||
while (pending_ios_to_complete) {
|
||||
struct io_uring_cqe* cqe;
|
||||
|
||||
// We need to make sure to reap all the I/O's submitted
|
||||
// even if there are any errors observed.
|
||||
//
|
||||
// io_uring_wait_cqe can potentially return -EAGAIN or -EINTR;
|
||||
// these error codes are not truly I/O errors; we can retry them
|
||||
// by re-populating the SQE entries and submitting the I/O
|
||||
|
|
@ -300,11 +297,13 @@ bool Worker::MergeOrderedOpsAsync() {
|
|||
if (ret) {
|
||||
SNAP_LOG(ERROR) << "Merge: io_uring_wait_cqe failed: " << ret;
|
||||
status = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (cqe->res < 0) {
|
||||
SNAP_LOG(ERROR) << "Merge: io_uring_wait_cqe failed with res: " << cqe->res;
|
||||
status = false;
|
||||
break;
|
||||
}
|
||||
|
||||
io_uring_cqe_seen(ring_.get(), cqe);
|
||||
|
|
|
|||
|
|
@ -395,9 +395,6 @@ bool ReadAhead::ReapIoCompletions(int pending_ios_to_complete) {
|
|||
while (pending_ios_to_complete) {
|
||||
struct io_uring_cqe* cqe;
|
||||
|
||||
// We need to make sure to reap all the I/O's submitted
|
||||
// even if there are any errors observed.
|
||||
//
|
||||
// io_uring_wait_cqe can potentially return -EAGAIN or -EINTR;
|
||||
// these error codes are not truly I/O errors; we can retry them
|
||||
// by re-populating the SQE entries and submitting the I/O
|
||||
|
|
@ -407,11 +404,13 @@ bool ReadAhead::ReapIoCompletions(int pending_ios_to_complete) {
|
|||
if (ret) {
|
||||
SNAP_LOG(ERROR) << "Read-ahead - io_uring_wait_cqe failed: " << ret;
|
||||
status = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (cqe->res < 0) {
|
||||
SNAP_LOG(ERROR) << "Read-ahead - io_uring_Wait_cqe failed with res: " << cqe->res;
|
||||
status = false;
|
||||
break;
|
||||
}
|
||||
|
||||
io_uring_cqe_seen(ring_.get(), cqe);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue