diff --git a/src/metadata/metadata_io.c b/src/metadata/metadata_io.c index ca83159..228fec3 100644 --- a/src/metadata/metadata_io.c +++ b/src/metadata/metadata_io.c @@ -152,6 +152,8 @@ static void metadata_io_write_i_asynch_cmpl(struct ocf_io *io, int error) struct metadata_io_request *request = io->priv1; metadata_io_write_i_asynch_end(request, error); + + ocf_io_put(io); } static int ocf_restart_meta_io(struct ocf_request *req) diff --git a/src/utils/utils_io.c b/src/utils/utils_io.c index 8417ee1..ca632ea 100644 --- a/src/utils/utils_io.c +++ b/src/utils/utils_io.c @@ -32,6 +32,8 @@ static void _ocf_obj_flush_end(struct ocf_io *io, int err) struct ocf_submit_io_wait_context *cntx = io->priv1; cntx->error = err; env_completion_complete(&cntx->complete); + + ocf_io_put(io); } int ocf_submit_obj_flush_wait(ocf_data_obj_t obj) @@ -205,6 +207,8 @@ static void ocf_submit_obj_req_cmpl(struct ocf_io *io, int error) ocf_req_end_t callback = io->priv2; callback(req, error); + + ocf_io_put(io); } void ocf_submit_cache_reqs(struct ocf_cache *cache,