Merge pull request #852 from robertbaldyga/forward_io-fix-error-accounting

Fix error accounting in forward_io
This commit is contained in:
Robert Baldyga
2024-10-15 08:44:47 +02:00
committed by GitHub
12 changed files with 61 additions and 50 deletions

View File

@@ -20,7 +20,7 @@ void ocf_engine_forward_cache_io(struct ocf_request *req, int dir,
uint32_t first_cl = ocf_bytes_2_lines(cache, offset + seek);
uint64_t addr;
req->cache_forward_end = callback;
ocf_req_forward_cache_init(req, callback);
addr = cache->device->metadata_offset;
addr += req->map[first_cl].coll_idx * ocf_line_size(cache);
@@ -40,7 +40,7 @@ void ocf_engine_forward_cache_io_req(struct ocf_request *req, int dir,
uint64_t addr, bytes, total_bytes = 0, addr_next = 0;
uint32_t i;
req->cache_forward_end = callback;
ocf_req_forward_cache_init(req, callback);
if (ocf_engine_is_sequential(req)) {
addr = cache->device->metadata_offset;
@@ -113,7 +113,7 @@ void ocf_engine_forward_cache_io_req(struct ocf_request *req, int dir,
void ocf_engine_forward_cache_flush_req(struct ocf_request *req,
ocf_req_end_t callback)
{
req->cache_forward_end = callback;
ocf_req_forward_cache_init(req, callback);
ocf_req_forward_cache_flush(req);
}
@@ -121,7 +121,7 @@ void ocf_engine_forward_cache_flush_req(struct ocf_request *req,
void ocf_engine_forward_cache_discard_req(struct ocf_request *req,
ocf_req_end_t callback)
{
req->cache_forward_end = callback;
ocf_req_forward_cache_init(req, callback);
ocf_req_forward_cache_discard(req, req->addr,
req->bytes);
@@ -133,7 +133,7 @@ void ocf_engine_forward_core_io_req(struct ocf_request *req,
ocf_core_stats_core_block_update(req->core, req->part_id, req->rw,
req->bytes);
req->core_forward_end = callback;
ocf_req_forward_core_init(req, callback);
ocf_req_forward_core_io(req, req->rw, req->addr,
req->bytes, req->offset);
@@ -145,7 +145,7 @@ void ocf_engine_forward_core_flush_req(struct ocf_request *req,
ocf_core_stats_core_block_update(req->core, req->part_id, req->rw,
req->bytes);
req->core_forward_end = callback;
ocf_req_forward_core_init(req, callback);
ocf_req_forward_core_flush(req);
}
@@ -156,7 +156,7 @@ void ocf_engine_forward_core_discard_req(struct ocf_request *req,
ocf_core_stats_core_block_update(req->core, req->part_id, req->rw,
req->bytes);
req->core_forward_end = callback;
ocf_req_forward_core_init(req, callback);
ocf_req_forward_core_discard(req, req->addr, req->bytes);
}

View File

@@ -62,7 +62,7 @@ static int ocf_read_wo_cache_do(struct ocf_request *req)
uint64_t offset = 0;
uint64_t increment = 0;
req->cache_forward_end = ocf_read_wo_cache_complete;
ocf_req_forward_cache_init(req, ocf_read_wo_cache_complete);
ocf_req_forward_cache_get(req);