From 499bcf0927e0032958efda0e6568f0adee1b1ff3 Mon Sep 17 00:00:00 2001 From: Igor Mammedov Date: Fri, 20 Nov 2015 10:44:38 +0100 Subject: [PATCH 5/9] virtio-scsi: convert to virtqueue_map Message-id: <1448016282-257478-6-git-send-email-imammedo@redhat.com> Patchwork-id: 68411 O-Subject: [RHEV-7.2.z qemu-kvm-rhev PATCH 5/9] virtio-scsi: convert to virtqueue_map Bugzilla: 1288096 RH-Acked-by: Andrew Jones RH-Acked-by: Stefan Hajnoczi RH-Acked-by: Michael S. Tsirkin From: Michael S. Tsirkin Note: virtqueue_map already validates input so virtio-scsi does not have to. Signed-off-by: Michael S. Tsirkin Reviewed-by: Igor Mammedov (cherry picked from commit 4ada5331895551570846e12e7eb00e06616f9152) Signed-off-by: Miroslav Rezanina --- hw/scsi/virtio-scsi.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c index 1c33f14..33bd25a 100644 --- a/hw/scsi/virtio-scsi.c +++ b/hw/scsi/virtio-scsi.c @@ -207,20 +207,8 @@ static void *virtio_scsi_load_request(QEMUFile *f, SCSIRequest *sreq) assert(n < vs->conf.num_queues); req = virtio_scsi_init_req(s, vs->cmd_vqs[n]); qemu_get_buffer(f, (unsigned char *)&req->elem, sizeof(req->elem)); - /* TODO: add a way for SCSIBusInfo's load_request to fail, - * and fail migration instead of asserting here. - * When we do, we might be able to re-enable NDEBUG below. - */ -#ifdef NDEBUG -#error building with NDEBUG is not supported -#endif - assert(req->elem.in_num <= ARRAY_SIZE(req->elem.in_sg)); - assert(req->elem.out_num <= ARRAY_SIZE(req->elem.out_sg)); - - virtqueue_map_sg(req->elem.in_sg, req->elem.in_addr, - req->elem.in_num, 1); - virtqueue_map_sg(req->elem.out_sg, req->elem.out_addr, - req->elem.out_num, 0); + + virtqueue_map(&req->elem); if (virtio_scsi_parse_req(req, sizeof(VirtIOSCSICmdReq) + vs->cdb_size, sizeof(VirtIOSCSICmdResp) + vs->sense_size) < 0) { -- 1.8.3.1