From: Fam Zheng Date: Tue, 23 Sep 2014 07:49:29 +0000 (+0800) Subject: virtio-scsi: Call bdrv_io_plug/bdrv_io_unplug in cmd request handling X-Git-Tag: v2.2.0-rc0~57^2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5170f40b102bcabed54e8fa8ec86957e35c41d41;p=thirdparty%2Fqemu.git virtio-scsi: Call bdrv_io_plug/bdrv_io_unplug in cmd request handling Signed-off-by: Fam Zheng Signed-off-by: Paolo Bonzini --- diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c index 395178e949b..09a39cb9919 100644 --- a/hw/scsi/virtio-scsi.c +++ b/hw/scsi/virtio-scsi.c @@ -488,6 +488,8 @@ bool virtio_scsi_handle_cmd_req_prepare(VirtIOSCSI *s, VirtIOSCSIReq *req) virtio_scsi_complete_cmd_req(req); return false; } + scsi_req_ref(req->sreq); + bdrv_io_plug(d->conf.bs); return true; } @@ -496,6 +498,8 @@ void virtio_scsi_handle_cmd_req_submit(VirtIOSCSI *s, VirtIOSCSIReq *req) if (scsi_req_enqueue(req->sreq)) { scsi_req_continue(req->sreq); } + bdrv_io_unplug(req->sreq->dev->conf.bs); + scsi_req_unref(req->sreq); } static void virtio_scsi_handle_cmd(VirtIODevice *vdev, VirtQueue *vq)