Arguments to long options are mandatory for short options as well.
-A, --abort
this option will issue the COPY OPERATION ABORT command with the LID given in the --list_id=LID
option. If the --list_id=LID option is not given then its default LID (257) is used. If there is
an xcopy operation ongoing on this I-T nexus (i.e. issued by this machine to any LU sharing the
same target) using that LID then the copy is aborted. Note there is a sense key (COPY ABORTED)
indicating some but not all data has been copied due to this action.
-a, --all_toks
send the REPORT ALL ROD TOKENS SCSI command to DEVICE and decode the response. An ODX
implementation is not required to support this command.
-B, --block
treat DEVICE as a block device when checking its --size. The default action of this utility is to
treat DEVICE as a SCSI pass-through device.
-D, --del_tkn
set the DEL_TKN bit in a WUT command (default: clear the DEL_TKN bit). Since an ODX copy manager
deletes the ROD Token when its inactivity time-out is reached, this option is typically not
needed. It may be useful for long-lived ROD Tokens that are no longer needed.
To delete an unused ROD Token a degenerate scatter list seems to be acceptable (e.g. '--wut=0,0
--del_tkn').
-f, --flexible
this option currently only effects the parsing of sgl_s in files that are in hexadecimal plus they
have a leading line with 'HEX' in them. Without this option any such line must be invoked with
'H@' before the filename; in other words the 'H' in the invocation needs to match the HEX in the
file. With this option a sgl in a file can be invoked with '@' and if a line with HEX is parsed
before any LBA,NUM pairs then it switches to hexadecimal mode; so all the parsed LBA,NUM pairs are
assumed to be in hexadecimal.
-h, --help
outputs the usage message summarizing command line options then exits.
-I, --immed
set the IMMED bit in the PT or WUT command. When given the PT and WUT commands return promptly
before the data transfer is complete; then this utility exits. The user should then invoke the
utility again with the --poll option and the same LID and DEVICE to await completion and receive
the final transfer count. The default action of PT and WUT (i.e. without this option) is to wait
for completion (i.e. all data transferred or an error occurs) before exiting this utility.
-i, --info
when the DEVICE argument is given then check its Third Party Copy VPD page and print out anything
found. Also check if the 3PC bit is set in the standard INQUIRY response.
If the DEVICE argument is not given and the --rtf=RTF option is given then decode part of the ROD
Token held in the --RTF file. SPC-4 defines some parts of a ROD Token that can be decoded but
does not require the copy manager to set these fields; so many fields may appear as zeros. A --RTF
file that has been generated by the ddpt utility may contain multiple ROD Tokens, each optionally
followed by an 8 byte "number of bytes represented" integer. They are all decoded, based on --RTF
file length which should either be a multiple of 512 or 520 bytes.
-l, --list_id=LIDLID is a list identifier which is used to associate an originating xcopy command (e.g. PT or WUT)
with a follow-up command that retrieves associated information or aborts the operation. T10
requires each active LID to be unique on a given I-T nexus. An I-T nexus is the current machine
(more precisely a HBA if a machine has two or more) and a specific target which will contain one
or more logical units (LUs) of which DEVICE is one. If the DEVICE's copy manager feels that rather
complex condition has not been met then an error is generated with sense data that decodes to
"operation in progress". Rather than try to work out who is doing what elsewhere, try another LID
value.
The default value for LID is 257.
-O, --oir=OIROIR is the Offset In ROD, a field in the WUT command. It may be be used together with the --wut=SL
option. Its default value is 0 and its units are the logical block size of DEVICE.
-p, --poll
send RRTI (or RCS) command to the DEVICE using the LID (i.e. from the --list_id=LID option). If a
copy status is received indicating the operation is ongoing, then this SCSI command is sent
periodically (as suggested by the previous RRTI (or RCS) command or every 500 milliseconds) until
some other copy status is detected. If the --list_id=LID option is not given then a LID of 257 is
assumed.
If the originating xcopy command was POPULATE TOKEN and the RRTI command indicates that it has
completed successfully then the associated ROD Token (returned in the RRTI response) is written to
the RTF file. If the --rtf=RTF option is not given then the ROD token is written to a file called
ddptctl_rod_tok.bin in the current directory.
-q, --prefer_rcs
prefers using the RECEIVE COPY STATUS (RCS) command over the RRTI command which is the default.
This only should be done following a WUT command since after a PT command, the RRTI command is
needed to fetch the ROD tokane.
-P, --pt=GL
send a POPULATE TOKEN (PT) command with the given gather list. The format of GL is given in the
NOTES section. If used without the --immed option then this utility, after the PT command finishes
successfully, will call the RRTI command. When the RRTI command finishes, potentially with a new
ROD Token, this utility will exit. Prior to that exit, if a new ROD Token is available and the
--rtf=RTF option is given then that ROD Token is written to the RTF file. If the --rtf=RTF option
is not given then the ROD token is written to a file called ddptctl_rod_tok.bin in the current
directory.
If the --immed option is given this utility will exit after the PT command finishes. To complete
the operation this utility should be invoked again with the --poll option and the same DEVICE.
-y, --readonly
open the DEVICE read-only (e.g. in Unix with the O_RDONLY flag). The default is to open it
read-write.
-R, --receive
send the RRTI (or RCS) SCSI command to the DEVICE using the LID (i.e. from the --list_id=LID
option). If the --list_id=LID option is not given then a LID of 257 is assumed.
If the originating xcopy command was POPULATE TOKEN and the RRTI command indicates that it has
completed successfully then the associated ROD Token (returned in the RRTI response) is written to
the RTF file. If the --rtf=RTF option is not given then the ROD token is written to a file called
ddptctl_rod_tok.bin in the current directory.
-r, --rtf=RTF
when RTF is a file containing an ODX ROD Token or the name of a file the ROD Token is to be
written to. A ROD Token used by ODX is 512 bytes long. If the RTF file was produced by the ddpt
utility then it might contain multiple ROD Tokens, each optionally followed by an 8 byte integer
containing the "number of bytes represented" by the preceding ROD Token.
If an RTF file with multiple ROD Tokens is given to this utility with --wut=SL then only the first
ROD Token is used. If an RTF file is being decoded (i.e. no DEVICE argument given) then all ROD
Tokens are decoded.
-t, --rtype=RTYPE
where RTYPE is the ROD Type, a field in the PT command (apart from "zero"). The default value (0)
indicates that the copy manager (in the DEVICE) decides. RTYPE can be a decimal number, a hex
number (prefixed by 0x or with a "h" appended) or one of "pit-def", "pit-vuln", "pit-pers",
"pit-cow", "pit-any" or "zero". The final truncated word can be spelt out (e.g.
"pit-vulnerable"). The "pit-" lead-in stands for "point in time" copy.
The "zero" is a special case and is not given to a PT command. Instead it causes a special Block
Device Zero Token to be created that can be used with the --wut=SL option to write blocks of zeros
to the given DEVICE.
-s, --size
prints the number of blocks and the size of each block for the given DEVICE. Protection
information is printed if available. By default uses the pass-through interface and the READ
CAPACITY command to obtain this information. If the --block option is given then the block layer
in the OS is query for size information (and protection information is not reported).
-T, --timeout=ITO[,CMD]
where ITO is the inactivity timeout (units: seconds) given to the PT command. The default is 0 in
which case the copy manager uses its own default which is shown in the Third party Copy VPD page.
CMD is the SCSI command timeout (units: seconds) applied to SCSI commands issued by this utility;
default is 0 which is translated to 600 seconds for originating xcopy commands (e.g. PT and WUT)
and 60 seconds for other commands. Best not to trigger command timeouts.
-v, --verbose
increase the level of verbosity, (i.e. debug output).
-V, --version
print the version string and then exit.
-w, --wut=SL
send a WRITE USING TOKEN (WUT) command with the given scatter list. The format of SL is given in
the NOTES section. This option requires the --rtf=RTF option to supply the ROD Token. If used
without the --immed option then after the WUT command finishes successfully this utility will call
the RRTI command. When the RRTI command finishes this utility will exit.
If the --immed option is given this utility will exit after the WUT command finishes. To complete
the operation this utility should be invoked again with the --poll option and the same DEVICE.