Go to the source code of this file.
|
typedef void(* | ctl_ref) (void *arg, int diff) |
|
|
enum | ctl_io_status {
CTL_STATUS_NONE
, CTL_SUCCESS
, CTL_CMD_TIMEOUT
, CTL_SEL_TIMEOUT
,
CTL_ERROR
, CTL_SCSI_ERROR
, CTL_CMD_ABORTED
, CTL_STATUS_MASK = 0xfff
,
CTL_AUTOSENSE = 0x1000
} |
|
enum | ctl_io_flags {
CTL_FLAG_NONE = 0x00000000
, CTL_FLAG_DATA_IN = 0x00000001
, CTL_FLAG_DATA_OUT = 0x00000002
, CTL_FLAG_DATA_NONE = 0x00000003
,
CTL_FLAG_DATA_MASK = 0x00000003
, CTL_FLAG_DO_AUTOSENSE = 0x00000020
, CTL_FLAG_USER_REQ = 0x00000040
, CTL_FLAG_ALLOCATED = 0x00000100
,
CTL_FLAG_ABORT_STATUS = 0x00000400
, CTL_FLAG_ABORT = 0x00000800
, CTL_FLAG_DMA_INPROG = 0x00001000
, CTL_FLAG_DELAY_DONE = 0x00004000
,
CTL_FLAG_INT_COPY = 0x00008000
, CTL_FLAG_SENT_2OTHER_SC = 0x00010000
, CTL_FLAG_FROM_OTHER_SC = 0x00020000
, CTL_FLAG_IS_WAS_ON_RTR = 0x00040000
,
CTL_FLAG_BUS_ADDR = 0x00080000
, CTL_FLAG_IO_CONT = 0x00100000
, CTL_FLAG_NO_DATAMOVE = 0x00400000
, CTL_FLAG_DMA_QUEUED = 0x00800000
,
CTL_FLAG_STATUS_QUEUED = 0x01000000
, CTL_FLAG_FAILOVER = 0x04000000
, CTL_FLAG_IO_ACTIVE = 0x08000000
, CTL_FLAG_STATUS_SENT = 0x10000000
,
CTL_FLAG_SERSEQ_DONE = 0x20000000
} |
|
enum | ctl_io_type { CTL_IO_NONE
, CTL_IO_SCSI
, CTL_IO_TASK
} |
|
enum | ctl_msg_type {
CTL_MSG_SERIALIZE
, CTL_MSG_R2R
, CTL_MSG_FINISH_IO
, CTL_MSG_BAD_JUJU
,
CTL_MSG_MANAGE_TASKS
, CTL_MSG_PERS_ACTION
, CTL_MSG_DATAMOVE
, CTL_MSG_DATAMOVE_DONE
,
CTL_MSG_UA
, CTL_MSG_PORT_SYNC
, CTL_MSG_LUN_SYNC
, CTL_MSG_IID_SYNC
,
CTL_MSG_LOGIN
, CTL_MSG_MODE_SYNC
, CTL_MSG_FAILOVER
} |
|
enum | ctl_tag_type {
CTL_TAG_UNTAGGED
, CTL_TAG_SIMPLE
, CTL_TAG_ORDERED
, CTL_TAG_HEAD_OF_QUEUE
,
CTL_TAG_ACA
} |
|
enum | ctl_task_type {
CTL_TASK_ABORT_TASK
, CTL_TASK_ABORT_TASK_SET
, CTL_TASK_CLEAR_ACA
, CTL_TASK_CLEAR_TASK_SET
,
CTL_TASK_I_T_NEXUS_RESET
, CTL_TASK_LUN_RESET
, CTL_TASK_TARGET_RESET
, CTL_TASK_BUS_RESET
,
CTL_TASK_PORT_LOGIN
, CTL_TASK_PORT_LOGOUT
, CTL_TASK_QUERY_TASK
, CTL_TASK_QUERY_TASK_SET
,
CTL_TASK_QUERY_ASYNC_EVENT
} |
|
enum | ctl_task_status {
CTL_TASK_FUNCTION_COMPLETE
, CTL_TASK_FUNCTION_SUCCEEDED
, CTL_TASK_FUNCTION_REJECTED
, CTL_TASK_LUN_DOES_NOT_EXIST
,
CTL_TASK_FUNCTION_NOT_SUPPORTED
} |
|
enum | ctl_pr_action {
CTL_PR_REG_KEY
, CTL_PR_UNREG_KEY
, CTL_PR_PREEMPT
, CTL_PR_CLEAR
,
CTL_PR_RESERVE
, CTL_PR_RELEASE
} |
|
◆ CTL_BACKEND_LUN
◆ CTL_HA_DATAMOVE_SEGMENT
#define CTL_HA_DATAMOVE_SEGMENT 131072 |
◆ CTL_HA_MAX_SG_ENTRIES
#define CTL_HA_MAX_SG_ENTRIES 16 |
◆ CTL_HA_VERSION
◆ CTL_INVALID_PORTNAME
#define CTL_INVALID_PORTNAME 0xFF |
◆ CTL_LLF_COMPARE
#define CTL_LLF_COMPARE 0x80000000 |
◆ CTL_LLF_DPO
#define CTL_LLF_DPO 0x08000000 |
◆ CTL_LLF_FUA
#define CTL_LLF_FUA 0x04000000 |
◆ CTL_LLF_READ
#define CTL_LLF_READ 0x10000000 |
◆ CTL_LLF_VERIFY
#define CTL_LLF_VERIFY 0x40000000 |
◆ CTL_LLF_WRITE
#define CTL_LLF_WRITE 0x20000000 |
◆ CTL_LSGL
◆ CTL_LSGLT
◆ CTL_LUN
#define CTL_LUN |
( |
|
io | ) |
((io)->io_hdr.ctl_private[CTL_PRIV_LUN].ptrs[0]) |
◆ CTL_MAX_CDBLEN
#define CTL_MAX_CDBLEN 32 |
◆ CTL_NUM_PRIV
◆ CTL_PORT
Value:
struct ctl_port ** ctl_ports
Definition at line 169 of file ctl_io.h.
◆ CTL_PRIV_BACKEND
#define CTL_PRIV_BACKEND 2 /* Reserved for block, RAIDCore */ |
◆ CTL_PRIV_BACKEND_LUN
#define CTL_PRIV_BACKEND_LUN 3 /* Backend LUN pointer */ |
◆ CTL_PRIV_FRONTEND
#define CTL_PRIV_FRONTEND 4 /* Frontend storage */ |
◆ CTL_PRIV_FRONTEND2
#define CTL_PRIV_FRONTEND2 5 /* Another frontend storage */ |
◆ CTL_PRIV_LBA_LEN
#define CTL_PRIV_LBA_LEN 1 /* Decoded LBA/len for read/write*/ |
◆ CTL_PRIV_LUN
#define CTL_PRIV_LUN 0 /* CTL LUN pointer goes here */ |
◆ CTL_PRIV_MODEPAGE
#define CTL_PRIV_MODEPAGE 1 /* Modepage info for config write */ |
◆ CTL_RSGL
◆ CTL_RSGLT
◆ CTL_SOFTC
#define CTL_SOFTC |
( |
|
io | ) |
((io)->io_hdr.ctl_private[CTL_PRIV_LUN].ptrs[1]) |
◆ CTL_TIME_IO
◆ CTL_TIME_IO_DEFAULT_SECS
#define CTL_TIME_IO_DEFAULT_SECS 90 |
◆ CTL_UNMAPPED_IID
#define CTL_UNMAPPED_IID 0xFF |
◆ ctl_ref
typedef void(* ctl_ref) (void *arg, int diff) |
◆ ctl_io_flags
Enumerator |
---|
CTL_FLAG_NONE | |
CTL_FLAG_DATA_IN | |
CTL_FLAG_DATA_OUT | |
CTL_FLAG_DATA_NONE | |
CTL_FLAG_DATA_MASK | |
CTL_FLAG_DO_AUTOSENSE | |
CTL_FLAG_USER_REQ | |
CTL_FLAG_ALLOCATED | |
CTL_FLAG_ABORT_STATUS | |
CTL_FLAG_ABORT | |
CTL_FLAG_DMA_INPROG | |
CTL_FLAG_DELAY_DONE | |
CTL_FLAG_INT_COPY | |
CTL_FLAG_SENT_2OTHER_SC | |
CTL_FLAG_FROM_OTHER_SC | |
CTL_FLAG_IS_WAS_ON_RTR | |
CTL_FLAG_BUS_ADDR | |
CTL_FLAG_IO_CONT | |
CTL_FLAG_NO_DATAMOVE | |
CTL_FLAG_DMA_QUEUED | |
CTL_FLAG_STATUS_QUEUED | |
CTL_FLAG_FAILOVER | |
CTL_FLAG_IO_ACTIVE | |
CTL_FLAG_STATUS_SENT | |
CTL_FLAG_SERSEQ_DONE | |
Definition at line 85 of file ctl_io.h.
◆ ctl_io_status
Enumerator |
---|
CTL_STATUS_NONE | |
CTL_SUCCESS | |
CTL_CMD_TIMEOUT | |
CTL_SEL_TIMEOUT | |
CTL_ERROR | |
CTL_SCSI_ERROR | |
CTL_CMD_ABORTED | |
CTL_STATUS_MASK | |
CTL_AUTOSENSE | |
Definition at line 68 of file ctl_io.h.
◆ ctl_io_type
Enumerator |
---|
CTL_IO_NONE | |
CTL_IO_SCSI | |
CTL_IO_TASK | |
Definition at line 189 of file ctl_io.h.
◆ ctl_msg_type
Enumerator |
---|
CTL_MSG_SERIALIZE | |
CTL_MSG_R2R | |
CTL_MSG_FINISH_IO | |
CTL_MSG_BAD_JUJU | |
CTL_MSG_MANAGE_TASKS | |
CTL_MSG_PERS_ACTION | |
CTL_MSG_DATAMOVE | |
CTL_MSG_DATAMOVE_DONE | |
CTL_MSG_UA | |
CTL_MSG_PORT_SYNC | |
CTL_MSG_LUN_SYNC | |
CTL_MSG_IID_SYNC | |
CTL_MSG_LOGIN | |
CTL_MSG_MODE_SYNC | |
CTL_MSG_FAILOVER | |
Definition at line 202 of file ctl_io.h.
◆ ctl_pr_action
Enumerator |
---|
CTL_PR_REG_KEY | |
CTL_PR_UNREG_KEY | |
CTL_PR_PREEMPT | |
CTL_PR_CLEAR | |
CTL_PR_RESERVE | |
CTL_PR_RELEASE | |
Definition at line 400 of file ctl_io.h.
◆ ctl_tag_type
Enumerator |
---|
CTL_TAG_UNTAGGED | |
CTL_TAG_SIMPLE | |
CTL_TAG_ORDERED | |
CTL_TAG_HEAD_OF_QUEUE | |
CTL_TAG_ACA | |
Definition at line 253 of file ctl_io.h.
◆ ctl_task_status
Enumerator |
---|
CTL_TASK_FUNCTION_COMPLETE | |
CTL_TASK_FUNCTION_SUCCEEDED | |
CTL_TASK_FUNCTION_REJECTED | |
CTL_TASK_LUN_DOES_NOT_EXIST | |
CTL_TASK_FUNCTION_NOT_SUPPORTED | |
Definition at line 358 of file ctl_io.h.
◆ ctl_task_type
Enumerator |
---|
CTL_TASK_ABORT_TASK | |
CTL_TASK_ABORT_TASK_SET | |
CTL_TASK_CLEAR_ACA | |
CTL_TASK_CLEAR_TASK_SET | |
CTL_TASK_I_T_NEXUS_RESET | |
CTL_TASK_LUN_RESET | |
CTL_TASK_TARGET_RESET | |
CTL_TASK_BUS_RESET | |
CTL_TASK_PORT_LOGIN | |
CTL_TASK_PORT_LOGOUT | |
CTL_TASK_QUERY_TASK | |
CTL_TASK_QUERY_TASK_SET | |
CTL_TASK_QUERY_ASYNC_EVENT | |
Definition at line 342 of file ctl_io.h.
◆ ctl_alloc_io()
union ctl_io * ctl_alloc_io |
( |
void * |
pool_ref | ) |
|
Definition at line 3961 of file ctl.c.
References CTL_SOFTC, ctl_io_pool::ctl_softc, ctl_io::io_hdr, ctl_io_hdr::pool, and ctl_io_pool::zone.
Referenced by cfiscsi_pdu_handle_scsi_command(), cfiscsi_pdu_handle_task_request(), cfiscsi_session_terminate_tasks(), ctl_ioctl_io(), ctl_isc_event_handler(), ctl_isc_ha_link_down(), and tpcl_alloc_io().
◆ ctl_alloc_io_nowait()
union ctl_io * ctl_alloc_io_nowait |
( |
void * |
pool_ref | ) |
|
◆ ctl_free_io()
void ctl_free_io |
( |
union ctl_io * |
io | ) |
|
Definition at line 3991 of file ctl.c.
References ctl_io::io_hdr, ctl_io_hdr::pool, and ctl_io_pool::zone.
Referenced by cfcs_action(), cfcs_done(), cfiscsi_done(), cfiscsi_pdu_handle_scsi_command(), cfiscsi_pdu_handle_task_request(), cfiscsi_scsi_command_done(), cfiscsi_session_terminate_tasks(), cfiscsi_task_management_done(), ctl_failover_lun(), ctl_ha_done(), ctl_handle_isc(), ctl_ioctl_io(), ctl_queue_sense(), ctl_serialize_other_sc_cmd(), ctl_try_unblock_io(), ctlfe_free_ccb(), ctlferegister(), tpc_process_b2b(), tpc_process_register_key(), tpc_process_verify(), tpc_process_wut(), and tpc_process_zero_wut().
◆ ctl_zero_io()
void ctl_zero_io |
( |
union ctl_io * |
io | ) |
|