Merge "If there an error, cqe field is not allocated by io_uring_wait_cqe(); return the error immediately."

This commit is contained in:
Akilesh Kailash 2022-03-08 08:07:14 +00:00 committed by Gerrit Code Review
commit ca0c5c5b10
2 changed files with 4 additions and 6 deletions

View file

@ -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);

View file

@ -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);