From a7e86965191f4269f085eb471bb4b7c328c5acbe Mon Sep 17 00:00:00 2001
From: Florian Fischer <florian.fischer@muhq.space>
Date: Tue, 12 Jul 2022 12:10:12 +0200
Subject: [PATCH] [SubmitActor] don't manually invalidate broken chains after
 linux 5.15

Fixes: 3fb3892ba4dfdc8d04a739147a6015a057cfcb2f
---
 emper/io/SubmitActor.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/emper/io/SubmitActor.cpp b/emper/io/SubmitActor.cpp
index 722ad23e..f1606b84 100644
--- a/emper/io/SubmitActor.cpp
+++ b/emper/io/SubmitActor.cpp
@@ -72,7 +72,8 @@ void SubmitActor::receive(Future* future) {
 	// req1 -> invalid_req -> req3
 	// will submit only 2 instead of all 3 prepared sqes
 	// See: https://github.com/axboe/liburing/issues/186
-	if (unlikely(static_cast<unsigned>(submitted) < prepared)) {
+	if (unlikely(static_cast<unsigned>(submitted) < prepared) &&
+			emper::IO_MUST_INVALIDATE_BROKEN_CHAIN) {
 		io.cancelUnsubmittedChainParts<CallerEnvironment::EMPER>(*future);
 	}
 
-- 
GitLab