Output like "Virtqueue size exceeded" is not much useful in identifying the culprit. This series beefs up virtio_error to print the virtio device name and id, and introduces virtqueue_error which additionally includes the index of the virtqueue where the error occured.
Patches 1 to 3 lay the groundwork, patches 4 to 8 convert virtio devices to use virtqueue_error instead of virtio_error. v1->v2: * Modified virtio_error and added virtqueue_error (Stefan) * Now also printing device id (Stefan) * Went over all virtio_error call sites and converted them to virtqueue_error as appropriate; added virtio device maintainers to cc Ladi Prosek (8): qemu-error: introduce error_report_nolf virtio: enhance virtio_error messages virtio: introduce virtqueue_error virtio-9p: use virtqueue_error for errors with queue context virtio-blk: use virtqueue_error for errors with queue context virtio-net: use virtqueue_error for errors with queue context virtio-scsi: use virtqueue_error for errors with queue context virtio-crypto: use virtqueue_error for errors with queue context hw/9pfs/virtio-9p-device.c | 37 ++++++-------- hw/block/virtio-blk.c | 6 +-- hw/net/virtio-net.c | 24 ++++----- hw/scsi/virtio-scsi.c | 2 +- hw/virtio/virtio-crypto.c | 56 ++++++++++----------- hw/virtio/virtio.c | 116 ++++++++++++++++++++++++++++++-------------- include/hw/virtio/virtio.h | 1 + include/qemu/error-report.h | 3 +- util/qemu-error.c | 32 +++++++++--- 9 files changed, 169 insertions(+), 108 deletions(-) -- 2.9.3