mirror of https://gitee.com/openkylin/qemu.git
scsi: move scsi_flush_complete around
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
80624c938d
commit
b77912a77a
|
@ -153,6 +153,27 @@ static void scsi_disk_load_request(QEMUFile *f, SCSIRequest *req)
|
||||||
qemu_iovec_init_external(&r->qiov, &r->iov, 1);
|
qemu_iovec_init_external(&r->qiov, &r->iov, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void scsi_flush_complete(void * opaque, int ret)
|
||||||
|
{
|
||||||
|
SCSIDiskReq *r = (SCSIDiskReq *)opaque;
|
||||||
|
SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev);
|
||||||
|
|
||||||
|
bdrv_acct_done(s->qdev.conf.bs, &r->acct);
|
||||||
|
|
||||||
|
if (ret < 0) {
|
||||||
|
if (scsi_handle_rw_error(r, -ret)) {
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
scsi_req_complete(&r->req, GOOD);
|
||||||
|
|
||||||
|
done:
|
||||||
|
if (!r->req.io_canceled) {
|
||||||
|
scsi_req_unref(&r->req);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void scsi_dma_complete(void *opaque, int ret)
|
static void scsi_dma_complete(void *opaque, int ret)
|
||||||
{
|
{
|
||||||
SCSIDiskReq *r = (SCSIDiskReq *)opaque;
|
SCSIDiskReq *r = (SCSIDiskReq *)opaque;
|
||||||
|
@ -206,27 +227,6 @@ done:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void scsi_flush_complete(void * opaque, int ret)
|
|
||||||
{
|
|
||||||
SCSIDiskReq *r = (SCSIDiskReq *)opaque;
|
|
||||||
SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev);
|
|
||||||
|
|
||||||
bdrv_acct_done(s->qdev.conf.bs, &r->acct);
|
|
||||||
|
|
||||||
if (ret < 0) {
|
|
||||||
if (scsi_handle_rw_error(r, -ret)) {
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
scsi_req_complete(&r->req, GOOD);
|
|
||||||
|
|
||||||
done:
|
|
||||||
if (!r->req.io_canceled) {
|
|
||||||
scsi_req_unref(&r->req);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Read more data from scsi device into buffer. */
|
/* Read more data from scsi device into buffer. */
|
||||||
static void scsi_read_data(SCSIRequest *req)
|
static void scsi_read_data(SCSIRequest *req)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue