![](/images/backgrounds/146247/146247-253194x1.png)
5.34RESERVE (10) Command (56h)
The RESERVE and the RELEASE commands are used for contention resolution in
Table
Bit | 7 | 6 | 5 |
| 4 |
| 3 |
| 2 | 1 | 0 |
Byte |
|
|
| ||||||||
|
|
|
|
|
|
|
|
|
|
| |
0 |
|
|
|
| Operation | Code (56h) |
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
| Reserved |
|
| 3rdPty |
| Reserved |
| LongID | Extent | |
|
|
|
|
|
|
|
|
|
| ||
2 |
|
|
|
| Reservation | Identification |
|
|
| ||
|
|
|
|
|
|
|
|
| |||
3 |
|
|
|
| Third Party Device ID |
|
|
| |||
|
|
|
|
|
|
|
|
|
|
| |
4 - 6 |
|
|
|
| Reserved |
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
7 - 8 | (MSB) |
|
|
| Parameter List Length |
|
|
| |||
|
|
|
|
|
| (LSB) | |||||
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| |
9 |
|
|
|
| Control |
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| Table | |
|
| |
Field | Description | |
|
| |
3rd Pty | When set to 1, it indicates that the Third Party Device ID field is valid. | |
| When 0, indicates that the third party device associated with the reservation release has a number | |
LongID | smaller than 255 and the ID value can be sent within the CDB. If set = 1, indicates that the third | |
party device ID is greater than 255, the ID value within the CDB is ignored, and the parameter list | ||
| ||
| length is at least eight. | |
|
| |
| Required and used only when the 3rdPty bit is set, in which case this field specifies the SCSI ID | |
| of the initiator to be granted the reservation of the logical unit. The drive preserves the reservation | |
| until one of the following occurs: | |
| • It is superseded by another valid RESERVE command from the initiator. | |
Third Party | • It is released by the same initiator. | |
• It is released by a TARGET RESET message from any initiator. | ||
Device ID | ||
• It is released by a hard reset condition. | ||
| ||
| The drive ignores any attempt to release the reservation made by any other initiator. For example, | |
| if ID7 sends ID2 a Third Party reservation on behalf of ID6 (the target at ID2 gets reserved for the | |
| initiator ID6), then only ID7 can release the target at ID2 (using a Third Party release). ID6 cannot | |
| release the reservation even though the reservation was made on its behalf. | |
| If 0, requests that the entire logical unit be reserved for use only by the initiator until the request | |
| is supplanted by another valid RESERVE command from the same initiator, or until released via | |
| a RELEASE (10) command from the reserving initiator, a hard reset, or a power on cycle. | |
| If set = 1, the extent reservation option is implemented. This option allows an application client in | |
Extent | a multitasking environment to have multiple reservations. | |
| ||
| The size of the extent list is defined by the contents of the Parameter List Length field. The extent | |
| list consists of zero or more descriptors. Each descriptor defines an extent beginning at the speci- | |
| fied logical block address for the specified number of blocks. If the number of blocks is 0, the ex- | |
| tent begins at the specified logical block address and continues through the last logical block | |
| address on the logical unit. The data format of extent descriptors is shown in Table |