qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for 2.6 v4 0/3] ide: fix loss of the dma/atapi state during migration
@ 2016-04-06  6:40 Denis V. Lunev
  2016-04-06  6:40 ` [Qemu-devel] [PATCH 1/3] ide: don't lose pending dma state Denis V. Lunev
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Denis V. Lunev @ 2016-04-06  6:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: den, John Snow, Pavel Butsykin

This patch set fixes bugs in the IDE DMA and the IDE ATAPI on operations to
save/restore the state.

>From the user point of view this results in IDE timeouts in the guest
when the user reads from the DVD like the following:

[424332.169229] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[424332.170423] sr 0:0:0:0: [sr0] CDB:
[424332.171234] Read(10): 28 00 00 00 02 e4 00 00 01 00
[424332.172418] ata1.00: cmd a0/01:00:00:00:08/00:00:00:00:00/a0 tag 0 dma 2048 in
         res 40/00:02:00:0c:00/00:00:00:00:00/a0 Emask 0x4 (timeout)
[424332.174877] ata1.00: status: { DRDY }
[424337.212099] ata1: link is slow to respond, please be patient (ready=0)
[424342.220084] ata1: device not ready (errno=-16), forcing hardreset
[424342.222700] ata1: soft resetting link
[424342.381059] ata1.00: configured for MWDMA2
[424342.383693] ata1: EH complete

Another similar nasty effects are possible.

Signed-off-by: Pavel Butsykin <pbutsykin@virtuozzo.com>
Reviewed-by: Roman Kagan <rkagan@virtuozzo.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: John Snow <jsnow@redhat.com>

Changes from v1:
- added converter of IDE_DMA_* to IDE_RETRY_* (1)
- fixed handling of the IDE_RETRY_HBA at the ide_restart_bh function (3)

Changes from v2:
- fixed enumeration value ‘IDE_DMA_ATAPI’ not handled in switch for macio.c (3)

Changes from v3:
- move the IDE_DMA_ATAPI setting in the cmd_packet func (3)

Pavel Butsykin (3):
  ide: don't lose pending dma state
  ide: restart atapi dma by re-evaluating command packet
  ide: really restart pending and in-flight atapi dma

 hw/ide/atapi.c    | 26 ++++++++++++--------------
 hw/ide/core.c     | 39 ++++++++++++++++-----------------------
 hw/ide/internal.h | 36 ++++++++++++++++++++++++++++++++++++
 hw/ide/macio.c    |  2 ++
 hw/ide/pci.c      |  4 ++++
 5 files changed, 70 insertions(+), 37 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-04-12 16:47 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-06  6:40 [Qemu-devel] [PATCH for 2.6 v4 0/3] ide: fix loss of the dma/atapi state during migration Denis V. Lunev
2016-04-06  6:40 ` [Qemu-devel] [PATCH 1/3] ide: don't lose pending dma state Denis V. Lunev
2016-04-06  6:40 ` [Qemu-devel] [PATCH 2/3] ide: restart atapi dma by re-evaluating command packet Denis V. Lunev
2016-04-06  6:40 ` [Qemu-devel] [PATCH 3/3] ide: really restart pending and in-flight atapi dma Denis V. Lunev
2016-04-11 22:18   ` Eric Blake
2016-04-12 12:17     ` Pavel Butsykin
2016-04-12 16:47       ` John Snow
2016-04-12 12:53     ` [Qemu-devel] [PATCH] ide: coding style fix Pavel Butsykin
2016-04-11 14:12 ` [Qemu-devel] [PATCH for 2.6 v4 0/3] ide: fix loss of the dma/atapi state during migration Denis V. Lunev
2016-04-11 21:47   ` John Snow
2016-04-12  5:33     ` Denis V. Lunev
2016-04-12 16:24       ` John Snow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).