A method comprising: storing, in memory of a first data storage device, a logical-to-physical mapping that indicates a mapping of logical addresses to physical addresses of the first data storage device; as data is migrated from a second data storage device to the first data storage device, storing, in the logical-to-physical mapping, values indicating logical addresses for which the first data storage device does not store valid data; receiving, by the first data storage device, write commands from a host system configured to manage the first data storage device, wherein the write commands instruct copying of data from the second data storage device to storage locations of the first data storage device that are selected by the host system, wherein the write commands specify the storage locations using physical addresses of the first data storage device; before the data of the second data storage device is fully migrated to the first data storage device, receiving, by the first data storage device, a read request from a guest system that requests data corresponding to a logical address indicated by the read request; determining, by the first data storage device and based on the values stored in the logical-to-physical mapping of the first data storage device, that the first data storage device stores invalid data not corresponding to the logical address indicated by the read request; in response to determining that the first data storage device does not store the data corresponding to the logical address indicated by the read request, suspending a read operation at the first data storage device corresponding to the read request, generating an event, and sending the event to the host system; receiving, by the first data storage device, a write command that the host system issued in response to the event, the write command instructing a write corresponding to the logical address indicated by the read request; in response to receiving the write command from the host system: writing the data indicated by the write command; removing, from the values, a corresponding value indicating that the first data storage device did not store valid data for the logical address indicated by the read request; and updating the logical-to-physical mapping to indicate the physical address for the logical address indicated by the read request; and resuming the read operation at the first data storage device and providing, to the guest system, the data corresponding to the logical address indicated by the read request. storing, in memory of a first data storage device, a logical-to-physical mapping that indicates a mapping of logical addresses to physical addresses of the first data storage device; as data is migrated from a second data storage device to the first data storage device, storing, in the logical-to-physical mapping, values indicating logical addresses for which the first data storage device does not store valid data; receiving, by the first data storage device, write commands from a host system configured to manage the first data storage device, wherein the write commands instruct copying of data from the second data storage device to storage locations of the first data storage device that are selected by the host system, wherein the write commands specify the storage locations using physical addresses of the first data storage device; before the data of the second data storage device is fully migrated to the first data storage device, receiving, by the first data storage device, a read request from a guest system that requests data corresponding to a logical address indicated by the read request; determining, by the first data storage device and based on the values stored in the logical-to-physical mapping of the first data storage device, that the first data storage device stores invalid data not corresponding to the logical address indicated by the read request; in response to determining that the first data storage device does not store the data corresponding to the logical address indicated by the read request, suspending a read operation at the first data storage device corresponding to the read request, generating an event, and sending the event to the host system; receiving, by the first data storage device, a write command that the host system issued in response to the event, the write command instructing a write corresponding to the logical address indicated by the read request; in response to receiving the write command from the host system: writing the data indicated by the write command; removing, from the values, a corresponding value indicating that the first data storage device did not store valid data for the logical address indicated by the read request; and updating the logical-to-physical mapping to indicate the physical address for the logical address indicated by the read request; and resuming the read operation at the first data storage device and providing, to the guest system, the data corresponding to the logical address indicated by the read request. writing the data indicated by the write command; removing, from the values, a corresponding value indicating that the first data storage device did not store valid data for the logical address indicated by the read request; and updating the logical-to-physical mapping to indicate the physical address for the logical address indicated by the read request; and resuming the read operation at the first data storage device and providing, to the guest system, the data corresponding to the logical address indicated by the read request.