Remove struct ocf_io
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com> Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright(c) 2012-2022 Intel Corporation
|
||||
* Copyright(c) 2024 Huawei Technologies
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
@@ -151,7 +152,7 @@ ocf_core_state_t ocf_core_get_state(ocf_core_t core);
|
||||
*
|
||||
* @param[in] io IO to be submitted
|
||||
*/
|
||||
static inline void ocf_core_submit_io(struct ocf_io *io)
|
||||
static inline void ocf_core_submit_io(ocf_io_t io)
|
||||
{
|
||||
ocf_volume_submit_io(io);
|
||||
}
|
||||
@@ -161,7 +162,7 @@ static inline void ocf_core_submit_io(struct ocf_io *io)
|
||||
*
|
||||
* @param[in] io IO to be submitted
|
||||
*/
|
||||
static inline void ocf_core_submit_flush(struct ocf_io *io)
|
||||
static inline void ocf_core_submit_flush(ocf_io_t io)
|
||||
{
|
||||
ocf_volume_submit_flush(io);
|
||||
}
|
||||
@@ -171,7 +172,7 @@ static inline void ocf_core_submit_flush(struct ocf_io *io)
|
||||
*
|
||||
* @param[in] io IO to be submitted
|
||||
*/
|
||||
static inline void ocf_core_submit_discard(struct ocf_io *io)
|
||||
static inline void ocf_core_submit_discard(ocf_io_t io)
|
||||
{
|
||||
ocf_volume_submit_discard(io);
|
||||
}
|
||||
|
||||
103
inc/ocf_io.h
103
inc/ocf_io.h
@@ -15,8 +15,6 @@
|
||||
* @brief OCF IO definitions
|
||||
*/
|
||||
|
||||
struct ocf_io;
|
||||
|
||||
/**
|
||||
* @brief OCF IO start
|
||||
*
|
||||
@@ -24,7 +22,7 @@ struct ocf_io;
|
||||
*
|
||||
* @param[in] io OCF IO being started
|
||||
*/
|
||||
typedef void (*ocf_start_io_t)(struct ocf_io *io);
|
||||
typedef void (*ocf_start_io_t)(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief OCF IO handle
|
||||
@@ -33,7 +31,7 @@ typedef void (*ocf_start_io_t)(struct ocf_io *io);
|
||||
*
|
||||
* @param[in] io OCF IO to handle
|
||||
*/
|
||||
typedef void (*ocf_handle_io_t)(struct ocf_io *io, void *opaque);
|
||||
typedef void (*ocf_handle_io_t)(ocf_io_t io, void *opaque);
|
||||
|
||||
/**
|
||||
* @brief OCF IO completion
|
||||
@@ -41,69 +39,11 @@ typedef void (*ocf_handle_io_t)(struct ocf_io *io, void *opaque);
|
||||
* @note Completion function for OCF IO
|
||||
*
|
||||
* @param[in] io OCF IO being completed
|
||||
* @param[in] priv1 Completion priv 1
|
||||
* @param[in] priv2 Completion priv 2
|
||||
* @param[in] error Completion status code
|
||||
*/
|
||||
typedef void (*ocf_end_io_t)(struct ocf_io *io, int error);
|
||||
|
||||
/**
|
||||
* @brief OCF IO main structure
|
||||
*/
|
||||
struct ocf_io {
|
||||
/**
|
||||
* @brief OCF IO destination address
|
||||
*/
|
||||
uint64_t addr;
|
||||
|
||||
/**
|
||||
* @brief OCF IO flags
|
||||
*/
|
||||
uint64_t flags;
|
||||
|
||||
/**
|
||||
* @brief OCF IO size in bytes
|
||||
*/
|
||||
uint32_t bytes;
|
||||
|
||||
/**
|
||||
* @brief OCF IO destination class
|
||||
*/
|
||||
uint32_t io_class;
|
||||
|
||||
/**
|
||||
* @brief OCF IO direction
|
||||
*/
|
||||
uint32_t dir;
|
||||
|
||||
/**
|
||||
* @brief Queue handle
|
||||
*/
|
||||
ocf_queue_t io_queue;
|
||||
|
||||
/**
|
||||
* @brief OCF IO start function
|
||||
*/
|
||||
ocf_start_io_t start;
|
||||
|
||||
/**
|
||||
* @brief OCF IO private 1
|
||||
*/
|
||||
void *priv1;
|
||||
|
||||
/**
|
||||
* @brief OCF IO private 2
|
||||
*/
|
||||
void *priv2;
|
||||
|
||||
/**
|
||||
* @brief OCF IO handle function
|
||||
*/
|
||||
ocf_handle_io_t handle;
|
||||
|
||||
/**
|
||||
* @brief OCF IO completion function
|
||||
*/
|
||||
ocf_end_io_t end;
|
||||
};
|
||||
typedef void (*ocf_end_io_t)(ocf_io_t io, void *priv1, void *priv2, int error);
|
||||
|
||||
/**
|
||||
* @brief Increase reference counter in OCF IO
|
||||
@@ -112,7 +52,7 @@ struct ocf_io {
|
||||
*
|
||||
* @param[in] io OCF IO
|
||||
*/
|
||||
void ocf_io_get(struct ocf_io *io);
|
||||
void ocf_io_get(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Decrease reference counter in OCF IO
|
||||
@@ -121,7 +61,7 @@ void ocf_io_get(struct ocf_io *io);
|
||||
*
|
||||
* @param[in] io OCF IO
|
||||
*/
|
||||
void ocf_io_put(struct ocf_io *io);
|
||||
void ocf_io_put(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Set OCF IO completion function
|
||||
@@ -130,13 +70,8 @@ void ocf_io_put(struct ocf_io *io);
|
||||
* @param[in] context Context for completion function
|
||||
* @param[in] fn Completion function
|
||||
*/
|
||||
static inline void ocf_io_set_cmpl(struct ocf_io *io, void *context,
|
||||
void *context2, ocf_end_io_t fn)
|
||||
{
|
||||
io->priv1 = context;
|
||||
io->priv2 = context2;
|
||||
io->end = fn;
|
||||
}
|
||||
void ocf_io_set_cmpl(ocf_io_t io, void *context,
|
||||
void *context2, ocf_end_io_t fn);
|
||||
|
||||
/**
|
||||
* @brief Set OCF IO start function
|
||||
@@ -144,10 +79,7 @@ static inline void ocf_io_set_cmpl(struct ocf_io *io, void *context,
|
||||
* @param[in] io OCF IO
|
||||
* @param[in] fn Start callback function
|
||||
*/
|
||||
static inline void ocf_io_set_start(struct ocf_io *io, ocf_start_io_t fn)
|
||||
{
|
||||
io->start = fn;
|
||||
}
|
||||
void ocf_io_set_start(ocf_io_t io, ocf_start_io_t fn);
|
||||
|
||||
/**
|
||||
* @brief Set OCF IO handle function
|
||||
@@ -155,10 +87,7 @@ static inline void ocf_io_set_start(struct ocf_io *io, ocf_start_io_t fn)
|
||||
* @param[in] io OCF IO
|
||||
* @param[in] fn Handle callback function
|
||||
*/
|
||||
static inline void ocf_io_set_handle(struct ocf_io *io, ocf_handle_io_t fn)
|
||||
{
|
||||
io->handle = fn;
|
||||
}
|
||||
void ocf_io_set_handle(ocf_io_t io, ocf_handle_io_t fn);
|
||||
|
||||
/**
|
||||
* @brief Set up data vector in OCF IO
|
||||
@@ -170,7 +99,7 @@ static inline void ocf_io_set_handle(struct ocf_io *io, ocf_handle_io_t fn)
|
||||
* @retval 0 Data set up successfully
|
||||
* @retval Non-zero Data set up failure
|
||||
*/
|
||||
int ocf_io_set_data(struct ocf_io *io, ctx_data_t *data, uint32_t offset);
|
||||
int ocf_io_set_data(ocf_io_t io, ctx_data_t *data, uint32_t offset);
|
||||
|
||||
/**
|
||||
* @brief Get data vector from OCF IO
|
||||
@@ -179,7 +108,7 @@ int ocf_io_set_data(struct ocf_io *io, ctx_data_t *data, uint32_t offset);
|
||||
*
|
||||
* @return Data vector from IO
|
||||
*/
|
||||
ctx_data_t *ocf_io_get_data(struct ocf_io *io);
|
||||
ctx_data_t *ocf_io_get_data(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Get offset within the data from OCF IO
|
||||
@@ -188,7 +117,7 @@ ctx_data_t *ocf_io_get_data(struct ocf_io *io);
|
||||
*
|
||||
* @return Offset within data
|
||||
*/
|
||||
uint32_t ocf_io_get_offset(struct ocf_io *io);
|
||||
uint32_t ocf_io_get_offset(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Handle IO in cache engine
|
||||
@@ -196,14 +125,14 @@ uint32_t ocf_io_get_offset(struct ocf_io *io);
|
||||
* @param[in] io OCF IO to be handled
|
||||
* @param[in] opaque OCF opaque
|
||||
*/
|
||||
void ocf_io_handle(struct ocf_io *io, void *opaque);
|
||||
void ocf_io_handle(ocf_io_t io, void *opaque);
|
||||
|
||||
/**
|
||||
* @brief Get volume associated with io
|
||||
*
|
||||
* @param[in] io OCF IO to be handled
|
||||
*/
|
||||
ocf_volume_t ocf_io_get_volume(struct ocf_io *io);
|
||||
ocf_volume_t ocf_io_get_volume(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Get the data to be submitted
|
||||
|
||||
@@ -73,6 +73,12 @@ typedef struct ocf_volume_uuid *ocf_uuid_t;
|
||||
*/
|
||||
typedef void ctx_data_t;
|
||||
|
||||
struct ocf_request;
|
||||
/**
|
||||
* @brief handle to io
|
||||
*/
|
||||
typedef struct ocf_request *ocf_io_t;
|
||||
|
||||
/**
|
||||
* @brief IO forward token
|
||||
*
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
#include "ocf/ocf_err.h"
|
||||
#include "ocf/ocf_io.h"
|
||||
|
||||
struct ocf_io;
|
||||
|
||||
/**
|
||||
* @brief OCF volume UUID maximum allowed size
|
||||
*/
|
||||
@@ -52,28 +50,28 @@ struct ocf_volume_ops {
|
||||
*
|
||||
* @param[in] io IO to be submitted
|
||||
*/
|
||||
void (*submit_io)(struct ocf_io *io);
|
||||
void (*submit_io)(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Submit IO with flush command
|
||||
*
|
||||
* @param[in] io IO to be submitted
|
||||
*/
|
||||
void (*submit_flush)(struct ocf_io *io);
|
||||
void (*submit_flush)(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Submit IO with metadata
|
||||
*
|
||||
* @param[in] io IO to be submitted
|
||||
*/
|
||||
void (*submit_metadata)(struct ocf_io *io);
|
||||
void (*submit_metadata)(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Submit IO with discard command
|
||||
*
|
||||
* @param[in] io IO to be submitted
|
||||
*/
|
||||
void (*submit_discard)(struct ocf_io *io);
|
||||
void (*submit_discard)(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Submit operation to write zeroes to target address (including
|
||||
@@ -81,7 +79,7 @@ struct ocf_volume_ops {
|
||||
*
|
||||
* @param[in] io IO description (addr, size)
|
||||
*/
|
||||
void (*submit_write_zeroes)(struct ocf_io *io);
|
||||
void (*submit_write_zeroes)(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Forward the original io directly to the volume
|
||||
@@ -351,7 +349,7 @@ int ocf_volume_is_atomic(ocf_volume_t volume);
|
||||
*
|
||||
* @return ocf_io on success atomic, otherwise NULL
|
||||
*/
|
||||
struct ocf_io *ocf_volume_new_io(ocf_volume_t volume, ocf_queue_t queue,
|
||||
ocf_io_t ocf_volume_new_io(ocf_volume_t volume, ocf_queue_t queue,
|
||||
uint64_t addr, uint32_t bytes, uint32_t dir,
|
||||
uint32_t io_class, uint64_t flags);
|
||||
|
||||
@@ -361,21 +359,21 @@ struct ocf_io *ocf_volume_new_io(ocf_volume_t volume, ocf_queue_t queue,
|
||||
*
|
||||
* @param[in] io IO
|
||||
*/
|
||||
void ocf_volume_submit_io(struct ocf_io *io);
|
||||
void ocf_volume_submit_io(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Submit flush to volume
|
||||
*
|
||||
* @param[in] io IO
|
||||
*/
|
||||
void ocf_volume_submit_flush(struct ocf_io *io);
|
||||
void ocf_volume_submit_flush(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Submit discard to volume
|
||||
*
|
||||
* @param[in] io IO
|
||||
*/
|
||||
void ocf_volume_submit_discard(struct ocf_io *io);
|
||||
void ocf_volume_submit_discard(ocf_io_t io);
|
||||
|
||||
/**
|
||||
* @brief Open volume
|
||||
|
||||
Reference in New Issue
Block a user