Functions | |
| ocs_ramd_hndlr_rtn_e | ocs_ramd_mode_sense6 (ocs_io_t *io, uint8_t cdb[]) |
| Process SCSI Mode Sense 6 command. More... | |
| ocs_ramd_hndlr_rtn_e | ocs_ramd_mode_sense10 (ocs_io_t *io, uint8_t cdb[]) |
| Process SCSI Mode Sense 10 command. More... | |
| ocs_ramd_hndlr_rtn_e | ocs_ramd_good_status (ocs_io_t *io) |
| Send a good SCSI status. More... | |
| ocs_ramd_hndlr_rtn_e | ocs_ramd_check_cond (ocs_io_t *io, uint8_t sense_key, uint8_t asc, uint8_t ascq) |
| Send a SCSI check condition. More... | |
| ocs_ramd_hndlr_rtn_e | ocs_ramd_task_set_full_or_busy (ocs_io_t *io) |
| Send a SCSI task set full or busy status. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write6 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI WRITE (6) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write10 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI WRITE (10) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write12 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI WRITE (12) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write16 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI WRITE (16) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write32 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI WRITE (32) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write_long10 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI WRITE LONG (10) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write_long16 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI WRITE LONG (16) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write_same10 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI WRITE SAME (10) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write_same16 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI WRITE SAME (16) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write_same32 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI WRITE SAME (32) command. More... | |
| static int32_t | ocs_ramd_first_burst_local (ocs_io_t *io, uint32_t bytes_left) |
| Process first burst data into the IO DMA memory. More... | |
| static int32_t | ocs_ramd_first_burst_no_dif (ocs_io_t *io, ocs_ramdisc_t *ramdisc) |
| Process the first burst data without any DIF information. More... | |
| static void | ocs_ramd_set_dif_prot_type_fields (ocs_t *ocs, ocs_ramdisc_t *ramdisc, ocs_scsi_dif_info_t *dif_info) |
| Set the Disable App and reference fields based on the protection type. More... | |
| static int32_t | ocs_ramd_first_burst_with_dif (ocs_io_t *io, ocs_ramdisc_t *ramdisc, uint32_t data_blk_size) |
| Process the first burst data by adding/verifying/stripping DIF information. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write_common (ocs_io_t *io, uint64_t lba, uint32_t block_count, uint8_t wrprotect, uint32_t app_tag, uint32_t ref_tag) |
| Common code for all SCSI WRITE commands. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write_long_common (ocs_io_t *io, uint64_t lba, uint16_t xfer_len, uint8_t cor_dis, uint8_t wr_uncor, uint8_t pblock) |
| Common code for all SCSI WRITE LONG commands. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_write_same_common (ocs_io_t *io, uint64_t lba, uint32_t block_count, uint8_t wrprotect, uint8_t pbdata, uint8_t lbdata, uint32_t app_tag, uint32_t ref_tag) |
| Common code for all SCSI WRITE SAME commands. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_complete_write_same (ocs_io_t *io) |
| Command completion for the SCSI WRITE SAME command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_read6 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI READ (6) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_read10 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI READ (10) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_read12 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI READ (12) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_read16 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI READ (16) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_read32 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI READ (32) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_read_long10 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI READ LONG (10) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_read_long16 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI READ LONG (16) command. More... | |
| static int32_t | ocs_ramd_data_phase_start (ocs_io_t *io) |
| Common code to start a SCSI data phase once the IO has been set up. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_read_common (ocs_io_t *io, uint64_t lba, uint32_t block_count, uint8_t rdprotect, uint32_t app_tag, uint32_t ref_tag) |
| Common code used for all SCSI READ commands. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_read_long_common (ocs_io_t *io, uint64_t lba, uint16_t xfer_len, uint8_t pblock, uint8_t corrct) |
| Common code used for all SCSI READ commands. More... | |
| static uint32_t | scsi_validate_format_unit (ocs_io_t *io) |
| Validate a FORMAT UNIT parameter list. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_format_unit (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI FORMAT UNIT command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_read_capacity10 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI READ CAPACITY (10) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_read_capacity16 (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI READ CAPACITY (16) command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_inquiry (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI INQUIRY command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_request_sense (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI REQUEST SENSE command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_test_unit_ready (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI TEST UNIT READY command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_reserve_release (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI RESERVE or RELEASE command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_report_luns (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI REPORT LUNS command. More... | |
| static uint32_t | scsi_validate_mode_select (ocs_io_t *io) |
| Validate a MODE SELECT parameter list. More... | |
| static int32_t | scsi_mode_select_cb (ocs_io_t *io, ocs_scsi_io_status_e scsi_status, uint32_t flags, void *arg) |
| Command data phase callback for the MODE SELECT command. More... | |
| static ocs_ramd_hndlr_rtn_e | ocs_ramd_mode_select (ocs_io_t *io, uint8_t cdb[]) |
| Process the SCSI MODE SELECT command. More... | |
| static int32_t | ocs_ramd_abort_node_tasks (ocs_node_t *node, ocs_io_t *myio) |
| Abort all tasks associated with a node. More... | |
| static int32_t | ocs_ramd_abort_node_tasks_lun (ocs_node_t *node, uint32_t lun, ocs_io_t *myio) |
| Abort tasks associated with a given node and LUN. More... | |
|
static |
Abort all tasks associated with a node.
node are aborted.| node | Pointer to the remote node. |
| myio | Pointer to the IO requesting the abort. |
Definition at line 6486 of file ocs_ramd.c.
|
static |
Abort tasks associated with a given node and LUN.
node and lun are aborted.| node | Pointer to the node. |
| lun | LUN value. |
| myio | Pointer to the IO requesting the abort. |
Definition at line 6539 of file ocs_ramd.c.
| ocs_ramd_hndlr_rtn_e ocs_ramd_check_cond | ( | ocs_io_t * | io, |
| uint8_t | sense_key, | ||
| uint8_t | asc, | ||
| uint8_t | ascq | ||
| ) |
Send a SCSI check condition.
| io | Pointer to the IO context. |
| sense_key | SCSI response sense key. |
| asc | SCSI response ASC value. |
| ascq | SCSI response ASCA value. |
Definition at line 2551 of file ocs_ramd.c.
|
static |
Command completion for the SCSI WRITE SAME command.
| io | Pointer to the IO context. |
Definition at line 4245 of file ocs_ramd.c.
|
static |
Common code to start a SCSI data phase once the IO has been set up.
| io | Pointer to the IO context. |
Definition at line 4662 of file ocs_ramd.c.
|
static |
Process first burst data into the IO DMA memory.
| io | Pointer to the IO context. |
| bytes_left | The number of first burst bytes received. |
Definition at line 3520 of file ocs_ramd.c.
|
static |
Process the first burst data without any DIF information.
| io | Pointer to the IO context. |
| ramdisc | Pointer to the ramdisc structure. |
Definition at line 3550 of file ocs_ramd.c.
|
static |
Process the first burst data by adding/verifying/stripping DIF information.
| io | Pointer to the IO context. |
| ramdisc | Pointer to the ramdisc structure. |
| data_blk_size | Size of the block without any DIF. |
Definition at line 3665 of file ocs_ramd.c.
|
static |
Process the SCSI FORMAT UNIT command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 5156 of file ocs_ramd.c.
| ocs_ramd_hndlr_rtn_e ocs_ramd_good_status | ( | ocs_io_t * | io | ) |
Send a good SCSI status.
| io | Pointer to the IO context. |
Definition at line 2519 of file ocs_ramd.c.
|
static |
Process the SCSI INQUIRY command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 5692 of file ocs_ramd.c.
|
static |
Process the SCSI MODE SELECT command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 6411 of file ocs_ramd.c.
| ocs_ramd_hndlr_rtn_e ocs_ramd_mode_sense10 | ( | ocs_io_t * | io, |
| uint8_t | cdb[] | ||
| ) |
Process SCSI Mode Sense 10 command.
The SCSI Mode Sense 10 command is processed
| io | pointer to IO context |
| cdb | pointer to SCSI cdb |
Definition at line 396 of file mode_sense.c.
| ocs_ramd_hndlr_rtn_e ocs_ramd_mode_sense6 | ( | ocs_io_t * | io, |
| uint8_t | cdb[] | ||
| ) |
Process SCSI Mode Sense 6 command.
The SCSI Mode Sense 6 command is processed
| io | pointer to IO context |
| cdb | pointer to SCSI cdb |
Definition at line 379 of file mode_sense.c.
|
static |
Process the SCSI READ (10) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 4383 of file ocs_ramd.c.
|
static |
Process the SCSI READ (12) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 4422 of file ocs_ramd.c.
|
static |
Process the SCSI READ (16) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 4462 of file ocs_ramd.c.
|
static |
Process the SCSI READ (32) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 4506 of file ocs_ramd.c.
|
static |
Process the SCSI READ (6) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 4339 of file ocs_ramd.c.
|
static |
Process the SCSI READ CAPACITY (10) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 5280 of file ocs_ramd.c.
|
static |
Process the SCSI READ CAPACITY (16) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 5367 of file ocs_ramd.c.
|
static |
Common code used for all SCSI READ commands.
| io | Pointer to the IO context. |
| lba | Starting LBA for the transfer. |
| block_count | Number of blocks to transfer. |
| rdprotect | Value of the RDPROTECT field in the CDB. |
| app_tag | Value of the APPLICATION TAG to expect. |
| ref_tag | Value of the REFERENCE TAG to expect for the first block. |
Definition at line 4768 of file ocs_ramd.c.
|
static |
Process the SCSI READ LONG (10) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 4574 of file ocs_ramd.c.
|
static |
Process the SCSI READ LONG (16) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 4618 of file ocs_ramd.c.
|
static |
Common code used for all SCSI READ commands.
| io | Pointer to the IO context. |
| lba | Starting LBA for the transfer. |
| xfer_len | Transfer length, in bytes. |
| pblock | Physical block bit from the CDB. |
| corrct | Correction bit from the CDB. |
Definition at line 4926 of file ocs_ramd.c.
|
static |
Process the SCSI REPORT LUNS command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 6161 of file ocs_ramd.c.
|
static |
Process the SCSI REQUEST SENSE command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 6041 of file ocs_ramd.c.
|
static |
Process the SCSI RESERVE or RELEASE command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 6128 of file ocs_ramd.c.
|
static |
Set the Disable App and reference fields based on the protection type.
| ocs | Pointer to the ocs structure. |
| ramdisc | Pointer to the ramdisc structure. |
| dif_info | Pointer to the DIF information structure for an IO. |
Definition at line 3618 of file ocs_ramd.c.
| ocs_ramd_hndlr_rtn_e ocs_ramd_task_set_full_or_busy | ( | ocs_io_t * | io | ) |
Send a SCSI task set full or busy status.
| io | Pointer to the IO context. |
Definition at line 2599 of file ocs_ramd.c.
|
static |
Process the SCSI TEST UNIT READY command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 6102 of file ocs_ramd.c.
|
static |
Process the SCSI WRITE (10) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 3022 of file ocs_ramd.c.
|
static |
Process the SCSI WRITE (12) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 3066 of file ocs_ramd.c.
|
static |
Process the SCSI WRITE (16) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 3112 of file ocs_ramd.c.
|
static |
Process the SCSI WRITE (32) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 3162 of file ocs_ramd.c.
|
static |
Process the SCSI WRITE (6) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 2968 of file ocs_ramd.c.
|
static |
Common code for all SCSI WRITE commands.
| io | Pointer to the IO context. |
| lba | Starting LBA for the transfer. |
| block_count | Number of blocks to transfer. |
| wrprotect | Value of the WRPROTECT field in the CDB. |
| ref_tag | Value of the REFERENCE TAG to write for the first block. |
| app_tag | Value of the APPLICATION TAG to write. |
Definition at line 3975 of file ocs_ramd.c.
|
static |
Process the SCSI WRITE LONG (10) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 3244 of file ocs_ramd.c.
|
static |
Process the SCSI WRITE LONG (16) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 3291 of file ocs_ramd.c.
|
static |
Common code for all SCSI WRITE LONG commands.
| io | Pointer to the IO context. |
| lba | Starting LBA for the transfer. |
| xfer_len | Transfer length, in bytes. |
| cor_dis | Correction disabled bit from the CDB. |
| wr_uncor | Write uncorrectable bit from the CDB. |
| pblock | Physical block bit from the CDB. |
Definition at line 4065 of file ocs_ramd.c.
|
static |
Process the SCSI WRITE SAME (10) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 3343 of file ocs_ramd.c.
|
static |
Process the SCSI WRITE SAME (16) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 3390 of file ocs_ramd.c.
|
static |
Process the SCSI WRITE SAME (32) command.
| io | Pointer to the IO context. |
| cdb | Pointer to the SCSI CDB. |
Definition at line 3443 of file ocs_ramd.c.
|
static |
Common code for all SCSI WRITE SAME commands.
| io | Pointer to the IO context. |
| lba | Starting LBA for the transfer. |
| block_count | Number of blocks to be written to the media. |
| wrprotect | WRPROTECT value from the CDB. |
| pbdata | PBDATA bit from the CDB. |
| lbdata | LBDATA bit from the CDB. |
| ref_tag | Value of the REFERENCE TAG to write for the first block. |
| app_tag | Value of the APPLICATION TAG to write. |
Definition at line 4135 of file ocs_ramd.c.
|
static |
Command data phase callback for the MODE SELECT command.
| io | Pointer to the IO structure. |
| scsi_status | Completion status. |
| flags | Flags. |
| arg | Application-specified argument. |
Definition at line 6371 of file ocs_ramd.c.
|
static |
Validate a FORMAT UNIT parameter list.
| io | Pointer to the IO context. |
Definition at line 4974 of file ocs_ramd.c.
|
static |
Validate a MODE SELECT parameter list.
| io | Pointer to the IO context. |
Definition at line 6282 of file ocs_ramd.c.