static void virtio_scsi_complete_req(VirtIOSCSIReq *req)

{

    VirtIOSCSI *s = req->dev;

    VirtQueue *vq = req->vq;

    VirtIODevice *vdev = VIRTIO_DEVICE(s);



    qemu_iovec_from_buf(&req->resp_iov, 0, &req->resp, req->resp_size);

    virtqueue_push(vq, &req->elem, req->qsgl.size + req->resp_iov.size);

    if (s->dataplane_started && !s->dataplane_fenced) {

        virtio_scsi_dataplane_notify(vdev, req);

    } else {

        virtio_notify(vdev, vq);

    }



    if (req->sreq) {

        req->sreq->hba_private = NULL;

        scsi_req_unref(req->sreq);

    }

    virtio_scsi_free_req(req);

}

static void virtio_scsi_complete_req(VirtIOSCSIReq *req)

{

    VirtIOSCSI *s = req->dev;

    VirtQueue *vq = req->vq;

    VirtIODevice *vdev = VIRTIO_DEVICE(s);



    qemu_iovec_from_buf(&req->resp_iov, 0, &req->resp, req->resp_size);

    virtqueue_push(vq, &req->elem, req->qsgl.size + req->resp_iov.size);

    if (s->dataplane_started && !s->dataplane_fenced) {

        virtio_scsi_dataplane_notify(vdev, req);

    } else {

        virtio_notify(vdev, vq);

    }



    if (req->sreq) {

        req->sreq->hba_private = NULL;

        scsi_req_unref(req->sreq);

    }

    virtio_scsi_free_req(req);

}

        virtio_scsi_dataplane_notify(vdev, req);
static void FUNC_0(VirtIOSCSIReq *VAR_0)

{

    VirtIOSCSI *s = VAR_0->dev;

    VirtQueue *vq = VAR_0->vq;

    VirtIODevice *vdev = VIRTIO_DEVICE(s);



    qemu_iovec_from_buf(&VAR_0->resp_iov, 0, &VAR_0->resp, VAR_0->resp_size);

    virtqueue_push(vq, &VAR_0->elem, VAR_0->qsgl.size + VAR_0->resp_iov.size);

    if (s->dataplane_started && !s->dataplane_fenced) {

        virtio_scsi_dataplane_notify(vdev, VAR_0);

    } else {

        virtio_notify(vdev, vq);

    }



    if (VAR_0->sreq) {

        VAR_0->sreq->hba_private = NULL;

        scsi_req_unref(VAR_0->sreq);

    }

    virtio_scsi_free_req(VAR_0);

}

static void FUNC_0(VirtIOSCSIReq *VAR_0)
{ VirtIOSCSI *s = VAR_0->dev; VirtQueue *vq = VAR_0->vq; VirtIODevice *vdev = VIRTIO_DEVICE(s); qemu_iovec_from_buf(&VAR_0->resp_iov, 0, &VAR_0->resp, VAR_0->resp_size); virtqueue_push(vq, &VAR_0->elem, VAR_0->qsgl.size + VAR_0->resp_iov.size); if (s->dataplane_started && !s->dataplane_fenced) { virtio_scsi_dataplane_notify(vdev, VAR_0); } else { virtio_notify(vdev, vq); } if (VAR_0->sreq) { VAR_0->sreq->hba_private = NULL; scsi_req_unref(VAR_0->sreq); } virtio_scsi_free_req(VAR_0); }