blob: 68f516b69c1d5fc4a857e8415f168d8eac870146 [file] [log] [blame]
Command coverage
================
The following table lists SCSI commands in alphabetical order on the
left and the sg3_utils (or related) utilities that implement invocations
of them on the right. The second table lists supported ATA commands.
SCSI command sg3_utils utilities that use this SCSI command
------------ -------------------------------------------------
ATA COMMAND PASS-THROUGH(16) sg_sat_identify, sg_sat_set_features,
sg_sat_phy_event, sg_sat_read_gplog ++
[sg_sat_chk_power, sg__sat_identify,
sg__sat_set_features, sg_sat_smart_rd_data
(previous four in the examples directory)]
ATA COMMAND PASS-THROUGH(12) sg_sat_identify, ++
CLOSE ZONE sg_zone
COMPARE AND WRITE sg_compare_and_write
COPY OPERATION ABORT ddptctl, ++
EXTENDED COPY(LID1) sg_xcopy, ddpt, ++
GET CONFIGURATION sg_get_config, ++
GET LBA STATUS sg_get_lba_status, ++
INQUIRY sg_dd, sg_format, sg_inq, sginfo,
sg_logs, sg_map('-i'), sg_modes, sg_opcodes,
sg_persist, sg_scan, sg_ses, sg_vpd ++
FINISH ZONE sg_zone
FORMAT MEDIUM sg_format, ++ [SSC]
FORMAT UNIT sg_format, ++ [SBC]
LOG SELECT sg_logs('-r' or '-select'), ++
LOG SENSE sg_logs, ++
MODE SELECT(6) sdparm, sg_wr_mode, sginfo, sg_format,
sg_emc_trespass, sg_rdac, ++
MODE SELECT(10) sdparm, sg_wr_mode, sginfo, sg_format,
sg_emc_trespass, sg_rdac, ++
MODE SENSE(6) sdparm, sg_modes, sg_wr_mode, sginfo, sg_format,
sg_senddiag('-e'), sg_rdac, ++
MODE SENSE(10) sdparm, sg_modes, sg_wr_mode, sginfo, sg_format,
sg_senddiag('-e'), sg_rdac, ++
OPEN ZONE sg_zone
PERSISTENT RESERVE IN sg_persist, ++
PERSISTENT RESERVE OUT sg_persist, ++
POPULATE TOKEN ddpt, ddptctl, ++
PREVENT ALLOW MEDIUM REMOVAL sg_prevent, ++
READ(6) sg_dd, sgm_dd, sgp_dd, sg_read
READ(10) sg_dd, sgm_dd, sgp_dd, sg_read
READ(12) sg_dd, sgm_dd, sgp_dd, sg_read
READ(16) sg_dd, sgm_dd, sgp_dd, sg_read
READ ATTRUBUTE sg_read_attr
READ BLOCK LIMITS sg_read_block_limits, ++
READ BUFFER(10) sg_rbuf, sg_test_rwbuf, sg_read_buffer, sg_safte, ++
READ BUFFER(16) sg_read_buffer
READ CAPACITY(10) sg_readcap, sg_dd, sgm_dd, sgp_dd, sg_format, ++
READ CAPACITY(16) sg_readcap, sg_dd, sgm_dd, sgp_dd, sg_format, ++
READ DEFECT(10) sginfo('-d' or '-G'), sg_reassign('-g'), smartmontools, ++
READ DEFECT(12) sginfo('-d' or '-G'), smartmontools
READ LONG(10) sg_read_long, sg_dd, ++
READ LONG(16) sg_read_long, ++
READ MEDIA SERIAL NUMBER sg_rmsn, ++
REASSIGN BLOCKS sg_reassign, ++
RECEIVE COPY DATA(LID1) sg_copy_results, ++
RECEIVE COPY FAILURE DETAILS(LID1) sg_copy_results, ++
RECEIVE COPY OPERATING PARAMETERS ddpt, sg_copy_results, sg_xcopy, ++
RECEIVE COPY STATUS(LID1) sg_copy_results, ++
RECEIVE DIAGNOSTIC RESULTS sg_senddiag, sg_ses, sg_ses_microcode ++
RECEIVE ROD TOKEN INFORMATION ddpt, ddptctl ++
REPORT ALL ROD TOKENS ddptctl ++
REPORT IDENTIFYING INFORMATION sg_ident, ++ (2)
REPORT LUNS sg_luns, ++
REPORT REFERRALS sg_referrals, ++
REPORT SUPPORTED OPERATION CODES sg_opcodes
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS sg_opcodes
REPORT TARGET PORT GROUPS sg_rtpg, sg_stpg ++
REPORT TIMESTAMP sg_timestamp
REPORT ZONES sg_rep_zones
REQUEST SENSE sg_requests, ++
RESET WRITE POINTER sg_reset_wp
SANITIZE sg_sanitize
SEND DIAGNOSTIC sg_senddiag, sg_ses, sg_ses_microcode ++
SET IDENTIFYING INFORMATION sg_ident, ++ (3)
SET TARGET PORT GROUPS sg_stpg, ++
SET TIMESTAMP sg_timestamp
START STOP sg_start, ++
SYNCHRONIZE CACHE(10) sg_sync, sg_dd, sgm_dd, sgp_dd, ++
SYNCHRONIZE CACHE(16) sg_sync++
TEST UNIT READY sg_turs, sg_format, ++
UNMAP sg_unmap, ++
VERIFY(10) sg_verify, ++
VERIFY(16) sg_verify, ++
WRITE(6) sg_dd, sgm_dd, sgp_dd
WRITE(10) sg_dd, sgm_dd, sgp_dd
WRITE(12) sg_dd, sgm_dd, sgp_dd
WRITE(16) sg_dd, sgm_dd, sgp_dd
WRITE AND VERIFY(10) sg_write_verify
WRITE AND VERIFY(16) sg_write_verify
WRITE ATOMIC(16) ddpt
WRITE BUFFER sg_test_rwbuf, sg_write_buffer, ++
WRITE LONG(10) sg_write_long, ++
WRITE LONG(16) sg_write_long, ++
WRITE SAME(10) sg_write_same
WRITE SAME(16) sg_write_same
WRITE SAME(32) sg_write_same
WRITE USING TOKEN ddpt, ddptctl, ++
<most commands> sg_raw
ATA command sg3_utils utilities that use this SCSI command
----------- ----------------------------------------------
CHECK POWER MODE examples/sg_sat_chk_power
IDENTIFY DEVICE sg_inq, sg_scan, sg_sat_identify,
examples/sg__sat_identify
IDENTIFY PACKET DEVICE sg_inq, sg_sat_identify,
examples/sg__sat_identify
READ LOG EXT sg_sat_phy_event, examples/sg__sat_phy_event
sg_sat_read_gplog
READ LOG DMA EXT sg_sat_read_gplog
SET FEATURES sg_sat_set_features
examples/sg__sat_set_features
SMART READ DATA examples/sg_sat_smart_rd_data
++ command wrapper found in sg_cmds_basic.c, sg_cmds_mmc.c or
sg_cmds_extra.c for this command
(2) this command was known as REPORT DEVICE IDENTIFIER prior to spc4r07
(3) this command was known as SET DEVICE IDENTIFIER prior to spc4r07
Note that any SCSI command, including bi-directional and variable length
commands (whose cdb size is > 16 bytes) can be issued by the sg_raw utility.
The RECEIVE COPY * commands in SPC-4 were grouped as one command name
with 4 service actions in SPC-3 and earlier. The single SPC-3 command
name is RECEIVE COPY RESULTS. The two opcodes associated with all
EXTENDED COPY commands are now known as THIRD PARTY COPY IN (0x84) and
THIRD PARTY COPY IN (0x83).
Douglas Gilbert
8th February 2016