Third party persistent reservations source I_T nexus function of XCopy
Kevin D Butt
kdbutt at us.ibm.com
Fri Apr 26 15:43:23 PDT 2013
Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1304262_f.htm">HTML-formatted message</a>
One of my engineers asked me about a function in extended copy that is
confusing him. It confuses me too and I would like to know what the
expected behavior is.
220.127.116.11 Third party persistent reservations source I_T nexus function
The segment descriptor format shown in table 165 instructs the copy
manager to send a PERSISTENT RESERVATION OUT command with REGISTER AND
MOVE service action (see 5.13.8) with the specified I_T nexus after all
other segment descriptors have been processed. If an error is detected any
time after receiving a third party persistent source reservation I_T nexus
segment descriptor, the PERSISTENT RESERVATION OUT command REGISTER AND
MOVE service action shall be processed before the copy operation (see
18.104.22.168) originated by the EXTENDED COPY command is completed.
This segment descriptor should be placed at or near the beginning of the
list of segment descriptors to assure the copy manager processes the
PERSISTENT RESERVATION OUT command with REGISTER AND MOVE service action
in the event of an error that terminates the processing of segment
descriptors. If an error is detected in a segment descriptor and third
party persistent reservations source I_T nexus segment descriptor has not
been processed, the copy manager shall not send a PERSISTENT RESERVATION
OUT command with REGISTER AND MOVE service action.
Placing more than one source third party persistent reservations source
I_T nexus segment descriptor in the list of descriptors is not an error.
All source third party persistent reservations source I_T nexus segment
descriptors known to the copy manager shall be processed after all other
segment descriptors have been processed.
This appears to say that this function requires a REGISTER AND MOVE to be
process after all other segments have been processed, presumably to
transfer the reservation after all the copy functions have been processed.
This segment should be early in the list so it can be processed to
transfer the reservation even if there is a failure while attempting to
process any of the segments that occur in the list after this function.
And, there is a requirement to process this segment even if there is a
failure in one of the other segments. However, if the failure occurs in
one of the segments prior to this function, then the REGISTER AND MOVE
shall not be processed. Further, there are allowed to be multiple
instances of this function and all instances are processed after all the
other segments have been processed. Presumably, these functions would be
processed in the order they appear in the list.
This seems to be the behavior described, but it is difficult to be sure
this is the intent.
Question 1: Is this the intent?
Assuming this is the correct behavior, then assume a parameter list with
10 segments. There is a Third party persistent reservations source I_T
nexus function in the third segment descriptor and another that is in the
sixth segment descriptor. Further, assume that there is an error in
processing the eighth segment descriptor.
In 22.214.171.124 EXTENDED COPY command errors detected during processing of
segment descriptors it states:
After an exception condition is detected during segment descriptor
b) the copy manager shall indicate the segment that was being processed at
the time of the exception by writing the segment number to the third and
fourth bytes of the COMMAND-SPECIFIC INFORMATION field. The segment number
is based on the relative position of the segment descriptor in the
parameter list (see 126.96.36.199)
In this case the segment number put in the third and fourth bytes of the
COMMAND-SPECIFIC INFORMATION field is 7 (i.e., the eighth descriptor).
Question 2: What should be put into the COMMAND-SPECIFIC INFORMATION
field if there is also a failure in processing the REGISTER AND MOVE in
the third or sixth segment descriptor that is required to be processed at
the end after all other segments have been processed or after an error
Question 3: What should be put into the COMMAND-SPECIFIC INFORMATION
field if all copy segments complete without error, but then during the
REGISTER AND MOVE one of the third or sixth segment has an error? If we
indicate the failing Third party persistent reservations source I_T nexus
function then we lose the fact that all the other segments completed
Kevin D. Butt
SCSI & Fibre Channel Architect, Tape Firmware
Data Protection & Retention
MS 6TYA, 9000 S. Rita Rd., Tucson, AZ 85744
Fax: 520-799-2723 (T/L:321)
Email address: kdbutt at us.ibm.com
More information about the T10