3.1.4.4.1 CLAIM_VOLUME

CLAIM_VOLUME is a subrequest of the SYNC_VOLUMES message request (see section 3.1.4.4). This type requests that the DLT Central Manager server update either the VolumeOwner or the VolumeSecret field of an entry in the ServerVolumeTable.

If RecentTableUpdateCount has reached its maximum value, the server MUST set the hr field of the TRKSVR_SYNC_VOLUME structure to TRK_E_SERVER_TOO_BUSY, and MUST NOT perform further processing of this subrequest.

For this subrequest, fields in the TRKSVR_SYNC_VOLUME structure have the following meaning:

  • volume: Specifies the VolumeID of the volume for which an update is requested.

  • secret: Specifies the VolumeSecret value of that volume.

If no entry exists in the ServerVolumeTable such that the VolumeID of the entry matches the volume field of the TRKSVR_SYNC_VOLUME structure, the server MUST set the hr field of that structure to a value indicating failure.

Otherwise, if such an entry does exist, but the value specified by the secretOld field of the TRKSVR_SYNC_VOLUME structure is not equal to the VolumeSecret field for that entry, and the RequestMachine is not equal to the VolumeOwner field for this entry, the server MUST set the hr field of the TRKSVR_SYNC_VOLUME structure to a value indicating failure.

Otherwise, the server MUST update the volume's entry in the ServerVolumeTable, and update the TRKSVR_SYNC_VOLUME structure, as follows:

  • The server MUST increment the RecentTableUpdateCount.

  • The server MUST set the VolumeOwner field of the entry with the RequestMachine value.

  • The server MUST set the VolumeSecret field of the entry with the value from the secret field of the TRKSVR_SYNC_VOLUME structure.

  • The server MUST set the seq field in the TRKSVR_SYNC_VOLUME structure with the value from the VolumeSequenceNumber field of the entry.

  • The server MUST set the ftLastRefresh field in the TRKSVR_SYNC_VOLUME structure with the value of the RefreshTime field of the entry.

  • The server MUST set the hr field of the TRKSVR_SYNC_VOLUME structure to zero.