Get rid of req->io_if
Remove one callback indirection level. I/O never changes it's direction so there is no point in storing both read and write callbacks for each request. Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
This commit is contained in:
@@ -137,11 +137,6 @@ int metadata_io_read_i_atomic_step(struct ocf_request *req)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct ocf_io_if _io_if_metadata_io_read_i_atomic_step = {
|
||||
.read = metadata_io_read_i_atomic_step,
|
||||
.write = metadata_io_read_i_atomic_step,
|
||||
};
|
||||
|
||||
/*
|
||||
* Iterative read request
|
||||
*/
|
||||
@@ -166,7 +161,7 @@ int metadata_io_read_i_atomic(ocf_cache_t cache, ocf_queue_t queue, void *priv,
|
||||
}
|
||||
|
||||
context->req->info.internal = true;
|
||||
context->req->io_if = &_io_if_metadata_io_read_i_atomic_step;
|
||||
context->req->engine_handler = metadata_io_read_i_atomic_step;
|
||||
context->req->priv = context;
|
||||
|
||||
/* Allocate one 4k page for metadata*/
|
||||
@@ -262,11 +257,6 @@ static int metadata_io_do(struct ocf_request *req)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct ocf_io_if metadata_io_do_if = {
|
||||
.read = metadata_io_do,
|
||||
.write = metadata_io_do,
|
||||
};
|
||||
|
||||
void metadata_io_req_finalize(struct metadata_io_request *m_req)
|
||||
{
|
||||
struct metadata_io_request_asynch *a_req = m_req->asynch;
|
||||
@@ -287,7 +277,7 @@ static int metadata_io_restart_req(struct ocf_request *req)
|
||||
struct metadata_io_request_asynch *a_req = m_req->asynch;
|
||||
int lock;
|
||||
|
||||
m_req->req.io_if = &metadata_io_do_if;
|
||||
m_req->req.engine_handler = metadata_io_do;
|
||||
|
||||
if (!a_req->mio_conc) {
|
||||
metadata_io_do(&m_req->req);
|
||||
@@ -309,11 +299,6 @@ static int metadata_io_restart_req(struct ocf_request *req)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct ocf_io_if metadata_io_restart_if = {
|
||||
.read = metadata_io_restart_req,
|
||||
.write = metadata_io_restart_req,
|
||||
};
|
||||
|
||||
static void metadata_io_req_advance(struct metadata_io_request *m_req);
|
||||
|
||||
/*
|
||||
@@ -414,7 +399,7 @@ void metadata_io_req_complete(struct metadata_io_request *m_req)
|
||||
return;
|
||||
}
|
||||
|
||||
m_req->req.io_if = &metadata_io_restart_if;
|
||||
m_req->req.engine_handler = metadata_io_restart_req;
|
||||
ocf_engine_push_req_front(&m_req->req, true);
|
||||
}
|
||||
|
||||
@@ -463,7 +448,7 @@ static int metadata_io_i_asynch(ocf_cache_t cache, ocf_queue_t queue, int dir,
|
||||
m_req->asynch = a_req;
|
||||
m_req->cache = cache;
|
||||
m_req->context = context;
|
||||
m_req->req.io_if = &metadata_io_restart_if;
|
||||
m_req->req.engine_handler = metadata_io_restart_req;
|
||||
m_req->req.io_queue = queue;
|
||||
m_req->req.cache = cache;
|
||||
m_req->req.priv = m_req;
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright(c) 2012-2021 Intel Corporation
|
||||
* Copyright(c) 2012-2022 Intel Corporation
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
@@ -68,11 +68,6 @@ static int passive_io_resume(struct ocf_request *req)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct ocf_io_if passive_io_restart_if = {
|
||||
.read = passive_io_resume,
|
||||
.write = passive_io_resume,
|
||||
};
|
||||
|
||||
static void passive_io_page_lock_acquired(struct ocf_request *req)
|
||||
{
|
||||
ocf_engine_push_req_front(req, true);
|
||||
@@ -120,7 +115,7 @@ int ocf_metadata_passive_update(ocf_cache_t cache, struct ocf_io *io,
|
||||
|
||||
req->io_queue = io->io_queue;;
|
||||
req->info.internal = true;
|
||||
req->io_if = &passive_io_restart_if;
|
||||
req->engine_handler = passive_io_resume;
|
||||
req->rw = OCF_WRITE;
|
||||
req->data = io;
|
||||
req->master_io_req = io_cmpl;
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright(c) 2012-2021 Intel Corporation
|
||||
* Copyright(c) 2012-2022 Intel Corporation
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
@@ -376,11 +376,6 @@ static void raw_dynamic_load_all_complete(
|
||||
|
||||
static int raw_dynamic_load_all_update(struct ocf_request *req);
|
||||
|
||||
static const struct ocf_io_if _io_if_raw_dynamic_load_all_update = {
|
||||
.read = raw_dynamic_load_all_update,
|
||||
.write = raw_dynamic_load_all_update,
|
||||
};
|
||||
|
||||
static void raw_dynamic_load_all_read_end(struct ocf_io *io, int error)
|
||||
{
|
||||
struct raw_dynamic_load_all_context *context = io->priv1;
|
||||
@@ -392,7 +387,7 @@ static void raw_dynamic_load_all_read_end(struct ocf_io *io, int error)
|
||||
return;
|
||||
}
|
||||
|
||||
context->req->io_if = &_io_if_raw_dynamic_load_all_update;
|
||||
context->req->engine_handler = raw_dynamic_load_all_update;
|
||||
ocf_engine_push_req_front(context->req, true);
|
||||
}
|
||||
|
||||
@@ -436,11 +431,6 @@ static int raw_dynamic_load_all_read(struct ocf_request *req)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct ocf_io_if _io_if_raw_dynamic_load_all_read = {
|
||||
.read = raw_dynamic_load_all_read,
|
||||
.write = raw_dynamic_load_all_read,
|
||||
};
|
||||
|
||||
static int raw_dynamic_load_all_update(struct ocf_request *req)
|
||||
{
|
||||
struct raw_dynamic_load_all_context *context = req->priv;
|
||||
@@ -463,7 +453,7 @@ static int raw_dynamic_load_all_update(struct ocf_request *req)
|
||||
return 0;
|
||||
}
|
||||
|
||||
context->req->io_if = &_io_if_raw_dynamic_load_all_read;
|
||||
context->req->engine_handler = raw_dynamic_load_all_read;
|
||||
ocf_engine_push_req_front(context->req, true);
|
||||
|
||||
return 0;
|
||||
@@ -508,7 +498,7 @@ void raw_dynamic_load_all(ocf_cache_t cache, struct ocf_metadata_raw *raw,
|
||||
|
||||
context->req->info.internal = true;
|
||||
context->req->priv = context;
|
||||
context->req->io_if = &_io_if_raw_dynamic_load_all_read;
|
||||
context->req->engine_handler = raw_dynamic_load_all_read;
|
||||
|
||||
ocf_engine_push_req_front(context->req, true);
|
||||
return;
|
||||
|
Reference in New Issue
Block a user