From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> This pair of patches fixes a problem where IDE/ATAPI cdrom reads get lost/corrupted over migration.
The first of the patches (restore atapi_dma flag) is a simple fix that I think is safe; it no longer causes corruption in the case we saw, but does still trigger a long timeout. The second is a hack; it throws a medium error causing the guest to retry the command in the case where migration happens just between the IDE/ATAPI command being submitted and the bmdma being finished. This recovers a lot faster than the timeout. Only tried on Linux guests so far; I think it might be possible to replace both of these by reparsing the command buffer for ATAPI; I'm just not confident I know when that's safe to do, and I wanted to see how disgusted people were by the 2nd hack. Dave Dr. David Alan Gilbert (2): Restore atapi_dma flag across migration atapi migration: Throw recoverable error to avoid recovery hw/ide/atapi.c | 17 +++++++++++++++++ hw/ide/core.c | 1 + hw/ide/internal.h | 2 ++ hw/ide/pci.c | 11 +++++++++++ 4 files changed, 31 insertions(+) -- 2.1.0