All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/3] ide: fix loss of the dma/atapi state during migration
@ 2016-04-01 14:32 Denis V. Lunev
  2016-04-01 14:32 ` [Qemu-devel] [PATCH 1/3] ide: don't lose pending dma state Denis V. Lunev
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Denis V. Lunev @ 2016-04-01 14:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: Denis V. Lunev, jsnow, rkagan, 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)

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    | 28 ++++++++++++++--------------
 hw/ide/core.c     | 36 +++++++++++++-----------------------
 hw/ide/internal.h | 36 ++++++++++++++++++++++++++++++++++++
 hw/ide/macio.c    |  2 ++
 hw/ide/pci.c      |  4 ++++
 5 files changed, 69 insertions(+), 37 deletions(-)

-- 
2.7.4

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

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

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-01 14:32 [Qemu-devel] [PATCH v3 0/3] ide: fix loss of the dma/atapi state during migration Denis V. Lunev
2016-04-01 14:32 ` [Qemu-devel] [PATCH 1/3] ide: don't lose pending dma state Denis V. Lunev
2016-04-01 14:32 ` [Qemu-devel] [PATCH 2/3] ide: restart atapi dma by re-evaluating command packet Denis V. Lunev
2016-04-01 21:01   ` John Snow
2016-04-04 10:32     ` Pavel Butsykin
2016-04-01 14:32 ` [Qemu-devel] [PATCH 3/3] ide: really restart pending and in-flight atapi dma Denis V. Lunev
2016-04-01 22:34   ` John Snow
2016-04-04 10:32     ` Pavel Butsykin
2016-04-04 16:24       ` John Snow
2016-04-04 16:54         ` Pavel Butsykin
2016-04-04 18:12           ` John Snow

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.