A method performed by one or more processors and one or more data storage devices, the method comprising: storing, at a destination storage device, a logical-to-physical mapping that indicates a mapping of logical addresses to physical addresses of the destination storage device; assigning, in the logical-to-physical mapping, a predetermined code to logical addresses for which data has not yet been migrated from a source storage device to the destination storage device; receiving, at the destination storage device, write commands that copy data from a source storage device to the destination storage device as part of migrating contents of the source storage device to the destination storage device; receiving, at the destination storage device, a read command associated with a particular logical address, the read command being issued by a guest device; determining, at the destination storage device, that the particular logical address has been assigned the predetermined code; and in response to determining that the particular logical address has been assigned the predetermined code: suspending the read operation at the destination storage device; and issuing an event to a host system, the method further comprising: receiving a write command that the host system issued in response to the event, the write command instructing a write to the particular logical address; writing the data indicated by the write command and updating the logical-to-physical mapping to (i) indicate the physical address for the data corresponding to the particular logical address, and (ii) remove the predetermined code from being associated with the particular logical address; and resuming the read operation at the destination storage device and providing the data corresponding to the particular logical address in response to the read command. storing, at a destination storage device, a logical-to-physical mapping that indicates a mapping of logical addresses to physical addresses of the destination storage device; assigning, in the logical-to-physical mapping, a predetermined code to logical addresses for which data has not yet been migrated from a source storage device to the destination storage device; receiving, at the destination storage device, write commands that copy data from a source storage device to the destination storage device as part of migrating contents of the source storage device to the destination storage device; receiving, at the destination storage device, a read command associated with a particular logical address, the read command being issued by a guest device; determining, at the destination storage device, that the particular logical address has been assigned the predetermined code; and in response to determining that the particular logical address has been assigned the predetermined code: suspending the read operation at the destination storage device; and issuing an event to a host system, the method further comprising: receiving a write command that the host system issued in response to the event, the write command instructing a write to the particular logical address; writing the data indicated by the write command and updating the logical-to-physical mapping to (i) indicate the physical address for the data corresponding to the particular logical address, and (ii) remove the predetermined code from being associated with the particular logical address; and resuming the read operation at the destination storage device and providing the data corresponding to the particular logical address in response to the read command. suspending the read operation at the destination storage device; and issuing an event to a host system, the method further comprising: receiving a write command that the host system issued in response to the event, the write command instructing a write to the particular logical address; writing the data indicated by the write command and updating the logical-to-physical mapping to (i) indicate the physical address for the data corresponding to the particular logical address, and (ii) remove the predetermined code from being associated with the particular logical address; and resuming the read operation at the destination storage device and providing the data corresponding to the particular logical address in response to the read command. receiving a write command that the host system issued in response to the event, the write command instructing a write to the particular logical address; writing the data indicated by the write command and updating the logical-to-physical mapping to (i) indicate the physical address for the data corresponding to the particular logical address, and (ii) remove the predetermined code from being associated with the particular logical address; and resuming the read operation at the destination storage device and providing the data corresponding to the particular logical address in response to the read command.