Emulex Logo
OneCoreā„¢ Storage SDK Release 11.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
RAMD Target IO State Machine

Functions

static void * __ocs_ramd_io_init_err_injection (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Initial IO state with error injection enabled. More...
 
static void * __ocs_ramd_io_init (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Initial IO state. More...
 
static void * __ocs_ramd_io_wait_first_burst (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Waiting for first burst data. More...
 
static void * __ocs_ramd_io_wait_dataphase_compl (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Wait for the data phase to complete. More...
 
static void * __ocs_ramd_io_wait_and_validate_dataphase (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Wait for the data phase to complete, then validate the received data. More...
 
static void * __ocs_ramd_io_wait_and_complete_writesame_dataphase (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Wait for the data phase to complete following a WRITE SAME command. More...
 
static void * __ocs_ramd_io_wait_first_burst_send_resp (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Wait on first burst then send response. More...
 
static void * __ocs_ramd_io_wait_resp_compl (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Wait for the response to complete. More...
 
static void * __ocs_ramd_tmf_wait_resp_cmpl (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Wait for the TMF response to complete. More...
 
static void * __ocs_ramd_io_common (const char *funcname, ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Common IO event handler. More...
 
static void * __ocs_ramd_abts_wait_io_abort_resp (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: ABTS: Wait for the IO to be aborted, and send response. More...
 
static void * __ocs_ramd_wait_abts_acc_cmpl (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: ABTS: Wait for the BA_ACC to complete. More...
 

Function Details

static void * __ocs_ramd_abts_wait_io_abort_resp ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: ABTS: Wait for the IO to be aborted, and send response.

Description
ABTS is waiting for the IO to be aborted. Once aborted, the response (BA_ACC) is sent.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 6662 of file ocs_ramd.c.

static void * __ocs_ramd_io_common ( const char *  funcname,
ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Common IO event handler.

Description
Handles events common to all states.
Parameters
funcnameCalling function name string.
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 2458 of file ocs_ramd.c.

static void * __ocs_ramd_io_init ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Initial IO state.

Description
The initial IO state invokes a SCSI command processing function, which may be a data phase or a response for the received command.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 1588 of file ocs_ramd.c.

static void * __ocs_ramd_io_init_err_injection ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Initial IO state with error injection enabled.

Description
The initial IO state processes error injection options for the received command.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 1444 of file ocs_ramd.c.

static void * __ocs_ramd_io_wait_and_complete_writesame_dataphase ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Wait for the data phase to complete following a WRITE SAME command.

Description
Wait for the data phase to complete. If done, complete the WRITE SAME command.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 2017 of file ocs_ramd.c.

static void * __ocs_ramd_io_wait_and_validate_dataphase ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Wait for the data phase to complete, then validate the received data.

Description
Wait for data phase to complete. If done, send a response.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 1949 of file ocs_ramd.c.

static void * __ocs_ramd_io_wait_dataphase_compl ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Wait for the data phase to complete.

Description
Wait for data phase to complete. If done, send a response.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 1894 of file ocs_ramd.c.

static void * __ocs_ramd_io_wait_first_burst ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Waiting for first burst data.

Description
Waits for the first burst data on an IO.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 1725 of file ocs_ramd.c.

static void * __ocs_ramd_io_wait_first_burst_send_resp ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Wait on first burst then send response.

Description
Wait for first burst to complete, then send a SCSI response.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 2079 of file ocs_ramd.c.

static void * __ocs_ramd_io_wait_resp_compl ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Wait for the response to complete.

Description
Wait for a SCSI response phase to complete. Upon completion, free the IO context.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 2174 of file ocs_ramd.c.

static void * __ocs_ramd_tmf_wait_resp_cmpl ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Wait for the TMF response to complete.

Description
Wait for a TMF response phase to complete. Upon completion, free the IO context.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 2214 of file ocs_ramd.c.

static void * __ocs_ramd_wait_abts_acc_cmpl ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: ABTS: Wait for the BA_ACC to complete.

Description
The IO has been aborted and a BA_ACC sent. Wait for the BA_ACC to complete, and then free the ABTS IO.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 6717 of file ocs_ramd.c.