qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 10/16] scsi: add a started field to SCSIDiskReq


From: Paolo Bonzini
Subject: [Qemu-devel] [PATCH 10/16] scsi: add a started field to SCSIDiskReq
Date: Thu, 19 Apr 2012 16:29:30 +0200

Signed-off-by: Paolo Bonzini <address@hidden>
---
 hw/scsi-disk.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index 09c2715..428d831 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -55,6 +55,7 @@ typedef struct SCSIDiskReq {
     uint64_t sector;
     uint32_t sector_count;
     uint32_t buflen;
+    bool started;
     struct iovec iov;
     QEMUIOVector qiov;
     BlockAcctCookie acct;
@@ -287,6 +288,7 @@ static void scsi_read_data(SCSIRequest *req)
     if (r->sector_count == (uint32_t)-1) {
         DPRINTF("Read buf_len=%zd\n", r->iov.iov_len);
         r->sector_count = 0;
+        r->started = true;
         scsi_req_data(&r->req, r->iov.iov_len);
         return;
     }
@@ -313,6 +315,7 @@ static void scsi_read_data(SCSIRequest *req)
         return;
     }
 
+    r->started = true;
     if (r->req.sg) {
         dma_acct_start(s->qdev.conf.bs, &r->acct, r->req.sg, BDRV_ACCT_READ);
         r->req.resid -= r->req.sg->size;
@@ -425,6 +428,7 @@ static void scsi_write_data(SCSIRequest *req)
 
     if (!r->req.sg && !r->qiov.size) {
         /* Called for the first time.  Ask the driver to send us more data.  */
+        r->started = true;
         scsi_write_complete(r, 0);
         return;
     }
-- 
1.7.9.3





reply via email to

[Prev in Thread] Current Thread [Next in Thread]