scsi-block: always use SG_IO
commit8fdc7839e40f43a426bc7e858cf1dbfe315a3804
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 10 May 2016 08:50:44 +0000 (10 10:50 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Sun, 29 May 2016 07:11:11 +0000 (29 09:11 +0200)
treef4a935071df6518586ae245291b4d5e061dbd861
parent5b956f415a356449a4171d5e0c7d9a25bbc84b5a
scsi-block: always use SG_IO

Using pread/pwrite or io_submit has the advantage of eliminating the
bounce buffer, but drops the SCSI status.  This keeps the guest from
seeing unit attention codes, as well as statuses such as RESERVATION
CONFLICT.  Because we know scsi-block operates on an SBC device we can
still use the DMA helpers with SG_IO; just remember to patch the CDBs
if the transfer is split into multiple segments.

This means that scsi-block will always use the thread-pool unfortunately,
instead of respecting aio=native.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi/scsi-disk.c