diff --git a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_merge.cpp b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_merge.cpp index 0cb41d340..c26a2cd5c 100644 --- a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_merge.cpp +++ b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_merge.cpp @@ -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); diff --git a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_readahead.cpp b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_readahead.cpp index 7d9d39215..fa2866f39 100644 --- a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_readahead.cpp +++ b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_readahead.cpp @@ -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);