Go to the source code of this file.
OCS linux driver IO declarations
Definition in file ocs_io.h.
Data Structures | |
| struct | els_loopback_io_evt_t |
| struct | ocs_io_t |
| struct | ocs_io_cb_arg_t |
| common IO callback argument More... | |
Macros | |
| #define | io_error_log(io, fmt,...) |
| #define | SCSI_CMD_BUF_LENGTH 48 |
| FCP IO context. More... | |
| #define | SCSI_RSP_BUF_LENGTH sizeof(fcp_rsp_iu_t) |
Enumerations | |
| enum | ocs_io_type_e { OCS_IO_TYPE_IO = 0, OCS_IO_TYPE_ELS, OCS_IO_TYPE_CT, OCS_IO_TYPE_CT_RESP, OCS_IO_TYPE_BLS_RESP, OCS_IO_TYPE_ABORT, OCS_IO_TYPE_MAX } |
| OCS IO types. More... | |
Functions | |
| static int32_t | ocs_io_busy (ocs_io_t *io) |
| Test if IO object is busy. More... | |
| ocs_io_pool_t * | ocs_io_pool_create (ocs_t *ocs, uint32_t num_io, uint32_t num_sgl) |
| Create a pool of IO objects. More... | |
| int32_t | ocs_io_pool_free (ocs_io_pool_t *io_pool) |
| Free IO objects pool. More... | |
| uint32_t | ocs_io_pool_allocated (ocs_io_pool_t *io_pool) |
| ocs_io_t * | ocs_io_pool_io_alloc (ocs_io_pool_t *io_pool) |
| Allocate an object used to track an IO. More... | |
| void | ocs_io_pool_io_free (ocs_io_pool_t *io_pool, ocs_io_t *io) |
| Free an object used to track an IO. More... | |
| ocs_io_t * | ocs_io_find_tgt_io (ocs_t *ocs, ocs_node_t *node, uint16_t ox_id, uint16_t rx_id) |
| Find an I/O given it's node and ox_id. More... | |
| ocs_io_t * | ocs_io_find_init_els_io (ocs_t *ocs, ocs_node_t *node, uint16_t ox_id) |
| Find an els I/O given it's node and ox_id. More... | |
| void | ocs_ddump_io (ocs_textbuf_t *textbuf, ocs_io_t *io) |
| Generate IO context ddump data. More... | |
| #define io_error_log | ( | io, | |
| fmt, | |||
| ... | |||
| ) |
| #define SCSI_CMD_BUF_LENGTH 48 |
| #define SCSI_RSP_BUF_LENGTH sizeof(fcp_rsp_iu_t) |
| enum ocs_io_type_e |
| void ocs_ddump_io | ( | ocs_textbuf_t * | textbuf, |
| ocs_io_t * | io | ||
| ) |
|
inlinestatic |
| ocs_io_t* ocs_io_find_init_els_io | ( | ocs_t * | ocs, |
| ocs_node_t * | node, | ||
| uint16_t | ox_id | ||
| ) |
| ocs_io_pool_t* ocs_io_pool_create | ( | ocs_t * | ocs, |
| uint32_t | num_io, | ||
| uint32_t | num_sgl | ||
| ) |
Create a pool of IO objects.
"Slabs" +----------------+ | |+-------------—+ | | IO | | +-------------—+ | | ... | | +-------------—+__+ | IO | +-------------—+
| ocs | Driver instance's software context. |
| num_io | Number of IO contexts to allocate. |
| num_sgl | Number of SGL entries to allocate for each IO. |