6.Command Specification | PERSISTENT RESERVE OUT |
6.10.PERSISTENT RESERVE OUT 5Fh
Bit | 7 | 6 |
| 5 |
| 4 |
| 3 |
| 2 |
| 1 | 0 |
Byte |
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
| Operation | Code (5Fh) |
|
|
|
|
| |
1 |
| Reserved |
|
|
|
|
|
| SERVICE ACTION |
| |||
2 |
| SCOPE |
|
|
|
|
|
|
| TYPE |
| ||
3 |
|
|
|
|
|
| Reserved |
|
|
|
| ||
4 |
|
|
|
|
|
| Reserved |
|
|
|
| ||
5 |
|
|
|
|
|
| Reserved |
|
|
|
| ||
6 |
|
|
|
|
|
| Reserved |
|
|
|
| ||
7 | (MSB) |
|
|
| Parameter List Length (18h) |
|
|
|
| ||||
8 |
|
|
|
|
|
|
|
|
|
|
|
| (LSB) |
9 |
|
|
|
|
|
| Control |
|
|
|
|
The PERSISTENT RESERVE OUT command is used to request service actions that reserve a logical unit or element for the exclusive or shared used if a particular initiator. The command uses other service actions to manage and remove such reservations. The command will be used in conjunction with the PERSISTENT RESERVE IN command and will not be used with the RESERVE and RELEASE commands.
An initiator performing PERSISTENT RESERVE OUT service actions is identified by a reservation key provided by the application client. An application client may use the PERSISTENT RESERVE IN command to identify which initiators are holding a persistent reservation and use the PERSISTENT RESERVE OUT command to preempt that reservation if required.
If a PERSISTENT RESERVE OUT command is attempted, but there are insufficient drive resources to complete the operation, the drive will return a CHECK CONDITION status. The sense key will be set to ILLEGAL REQUEST and the additional sense data will be set to INSUFFICIENT REGISTRATION RESOURCES.
The PERSISTENT RESERVE OUT command contains fields that specify a persistent reservation service action, the intended scope of the persistent reservation, and the restrictions caused by the persistent reservation. The TYPE and SCOPE fields are defined in 6.9. If a SCOPE filed specifies a scope that is not implemented, the drive will return a CHECK CONDITION status. The sense key will be set to ILLEGAL REQUEST and additional sense data will be set to INVALID FIELD IN CDB.
Fields contained in the PERSISTENT RESERVE OUT parameter list specify the information required to perform a particular persistent reservation service action.
The parameter list will be 24 bytes in length and the Parameter List Length field will contain 24(18h). If the parameter list length is not 24, the drive will return a CHECK CONDITION status. The sense key will be set to ILLGAL REQUEST and the additional sense data will be set to PARAMETER LIST LENGTH ERROR.
SERVICE ACTION: When processing the PERSISTENT RESERVE OUT service actions, the drive will increment the generation value as specified in 6.9.
Table
Code | Name | Description |
00h | REGISTER | Register a reservation key with the drive |
01h | RESERVE | Create a persistent reservation having a specified SCOPE and TYPE. The |
|
| SCOPE and TYPE of a persistent reservation are defined in 6.9 |
02h | RELEASE | Releases the selected reservation for the requesting initiator. |
03h | CLEAR | Clears all reservation keys and all persistent reservations. |
04h | PREEMPT | Preempts persistent reservations from another initiator. |
05h | PREEMPT & | Preempts persistent reservations from another initiator and aborts the task set |
| ABORT | for the preempted initiator. |
Reserved |
|
The parameter list required to perform the PERSISTENT RESERVE OUT command has the following format:
SONY |