Patent ID: 9715351
Date: 2017-07-25
CPC Classifications: G06F

Claim:
1. A method comprising: receiving, by a processing device, a request to copy data from a source logical volume of a device stack to a destination logical volume of the device stack, wherein the device stack comprises a source intermediate volume that associates the source logical volume with a source physical volume, and a destination intermediate volume that associates the destination logical volume with a destination physical volume; constructing, by the processing device, a read request to be sent to the source logical volume to read the data and a write request to be sent to the destination logical volume to write the data; constructing, by the processing device, a copy descriptor to be associated with the read request and the write request; associating, by the processing device, the copy descriptor with the read request and the write request; sending, by the processing device, the read request to the source logical volume and the write request to the destination logical volume; causing, by the processing device, the read request to be forwarded to the source physical volume of the device stack and the write request to be forwarded to the destination physical volume of the device stack; responsive to determining that the read request has failed at the source intermediate volume of the device stack, causing a driver of the source intermediate volume to terminate the write request; responsive to determining that the write request has failed at the destination intermediate volume of the device stack, causing a driver of the destination intermediate volume to terminate the read request; responsive to detecting that the read request has been received by the source physical volume of the device stack and the write request has been received by a destination physical volume of the device stack, causing one of a driver of the source physical volume or a driver of the destination physical volume to construct a copy-offload request to be sent to a storage device, the copy-offload request comprising the read request, the write request, and the copy descriptor; and sending the copy-offload request to the storage device.