Simplify data object API

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
This commit is contained in:
Robert Baldyga
2019-01-02 14:48:28 +01:00
parent cbc590e668
commit 4cf4d6d7c7
12 changed files with 307 additions and 307 deletions

View File

@@ -44,15 +44,6 @@ struct ocf_data_obj_caps {
* @brief OCF data object interface declaration
*/
struct ocf_data_obj_ops {
/**
* @brief Allocate new IO for this data object
*
* @param[in] obj Data object for which IO is created
* @return IO On success
* @return NULL On failure
*/
struct ocf_io *(*new_io)(ocf_data_obj_t obj);
/**
* @brief Submit IO on this data object
*
@@ -128,8 +119,11 @@ struct ocf_data_obj_properties {
const char *name;
/*!< The name of data object operations */
uint32_t io_context_size;
/*!< Size of io context structure */
uint32_t io_priv_size;
/*!< Size of io private context structure */
uint32_t dobj_priv_size;
/*!< Size of data object private context structure */
struct ocf_data_obj_caps caps;
/*!< Data object capabilities */
@@ -152,48 +146,10 @@ static inline struct ocf_data_obj_uuid ocf_str_to_uuid(char *str)
}
/**
* @brief Get private context of data object
*
* @param[in] obj Data object
*
* @return Data object private context
*/
void *ocf_data_obj_get_priv(ocf_data_obj_t obj);
/**
* @brief Set private context for data object
*
* @param[in] obj Data object
* @param[in] priv Data object private context to be set
*/
void ocf_data_obj_set_priv(ocf_data_obj_t obj, void *priv);
/**
* @brief Allocate new io from data object allocator
*
* @param[in] obj data object handle
*
* @return ocf_io object on success, otherwise NULL
*/
struct ocf_io *ocf_data_obj_new_io(ocf_data_obj_t obj);
/**
* @brief Delete io from data object allocator
*
* @param[in] io handle to previously allocated io
*/
void ocf_data_obj_del_io(struct ocf_io* io);
/**
* @brief Return io context data
*
* @param[in] io ocf io handle
*
* @return ocf_io private context data
*/
void *ocf_data_obj_get_data_from_io(struct ocf_io* io);
/**
* @brief Initialize data object
*
* @param[in] obj data object handle
@@ -250,6 +206,15 @@ ocf_data_obj_type_t ocf_dobj_get_type(ocf_data_obj_t obj);
*/
const struct ocf_data_obj_uuid *ocf_dobj_get_uuid(ocf_data_obj_t obj);
/**
* @brief Get private context of data object
*
* @param[in] obj Data object
*
* @return Data object private context
*/
void *ocf_dobj_get_priv(ocf_data_obj_t obj);
/**
* @brief Get cache handle for given data object
*

View File

@@ -139,24 +139,17 @@ struct ocf_io_ops {
* @return Data vector from IO
*/
ctx_data_t *(*get_data)(struct ocf_io *io);
/**
* @brief Increase reference counter in OCF IO
*
* @param[in] io OCF IO
*/
void (*get)(struct ocf_io *io);
/**
* @brief Decrease reference counter in OCF IO
*
* @note If IO don't have any reference - deallocate it
*
* @param[in] io OCF IO
*/
void (*put)(struct ocf_io *io);
};
/**
* @brief Get IO private context structure
*
* @param[in] io OCF IO
*
* @return IO private context structure
*/
void *ocf_io_get_priv(struct ocf_io *io);
/**
* @brief Configure OCF IO
*
@@ -184,10 +177,7 @@ static inline void ocf_io_configure(struct ocf_io *io, uint64_t addr,
*
* @param[in] io OCF IO
*/
static inline void ocf_io_get(struct ocf_io *io)
{
io->ops->get(io);
}
void ocf_io_get(struct ocf_io *io);
/**
* @brief Decrease reference counter in OCF IO
@@ -196,10 +186,7 @@ static inline void ocf_io_get(struct ocf_io *io)
*
* @param[in] io OCF IO
*/
static inline void ocf_io_put(struct ocf_io *io)
{
io->ops->put(io);
}
void ocf_io_put(struct ocf_io *io);
/**
* @brief Set OCF IO completion function