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


Reply via email to