From 237f6c708a16aca66f4c6eeefec70a63f9e2beab Mon Sep 17 00:00:00 2001 From: Michal Mielewczyk Date: Mon, 30 Sep 2024 12:45:09 +0200 Subject: [PATCH] Don't modify req->error for IOs outside io engines `req->error` should be modified by the request's owner only; hence, if the request has been allocated to handle IO (i.e. it's not an internal OCF request) only engines can change it Signed-off-by: Michal Mielewczyk --- src/metadata/metadata_raw.c | 1 - src/ocf_request.c | 2 -- 2 files changed, 3 deletions(-) diff --git a/src/metadata/metadata_raw.c b/src/metadata/metadata_raw.c index 24e8575..43a2c9b 100644 --- a/src/metadata/metadata_raw.c +++ b/src/metadata/metadata_raw.c @@ -462,7 +462,6 @@ static void _raw_ram_flush_do_asynch_io_complete(ocf_cache_t cache, OCF_DEBUG_MSG(cache, "Asynchronous flushing complete"); /* Call metadata flush completed call back */ - ctx->req->error |= ctx->error; ctx->complete(ctx->req, ctx->error); env_free(ctx); diff --git a/src/ocf_request.c b/src/ocf_request.c index d24fecc..4333625 100644 --- a/src/ocf_request.c +++ b/src/ocf_request.c @@ -659,8 +659,6 @@ void ocf_forward_end(ocf_forward_token_t token, int error) { struct ocf_request *req = ocf_req_forward_token_to_req(token); - req->error |= error; - if (token & 1) { req->cache_error = req->cache_error ?: error; ocf_req_forward_cache_put(req);