Message ID | 1445935663-31971-6-git-send-email-mst@redhat.com |
---|---|
State | New |
Headers | show |
On Tue, 27 Oct 2015 10:48:06 +0200 "Michael S. Tsirkin" <mst@redhat.com> wrote: > Note: virtqueue_map already validates input > so virtio-scsi does not have to. > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > 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) {
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) {
Note: virtqueue_map already validates input so virtio-scsi does not have to. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- hw/scsi/virtio-scsi.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-)