diff options
author | Alexander Motin <mav@FreeBSD.org> | 2022-12-03 15:08:20 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2022-12-17 19:18:38 +0000 |
commit | f7c086f2c27d185ee831947378de9671298387db (patch) | |
tree | c4b6ac6cc562f0d8fccaf1ff4ff3ad91f41567e9 | |
parent | a3c07a933d5cb71a6d58cc9f0ecb5385a5e0ea29 (diff) | |
download | src-f7c086f2c27d185ee831947378de9671298387db.tar.gz src-f7c086f2c27d185ee831947378de9671298387db.zip |
bhyve virtio-scsi: Fix residual reporting.
CTL does not really use residual field and it always returned zero.
Use ext_data_filled instead.
MFC after: 2 weeks
(cherry picked from commit b81ac5cdc355029b4d5723fcdfcbcbedeb94dcd9)
-rw-r--r-- | usr.sbin/bhyve/pci_virtio_scsi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.sbin/bhyve/pci_virtio_scsi.c b/usr.sbin/bhyve/pci_virtio_scsi.c index 563798f19b07..e00591a603e0 100644 --- a/usr.sbin/bhyve/pci_virtio_scsi.c +++ b/usr.sbin/bhyve/pci_virtio_scsi.c @@ -559,7 +559,7 @@ pci_vtscsi_request_handle(struct pci_vtscsi_queue *q, struct iovec *iov_in, } else { cmd_wr->sense_len = MIN(io->scsiio.sense_len, sc->vss_config.sense_size); - cmd_wr->residual = io->scsiio.residual; + cmd_wr->residual = ext_data_len - io->scsiio.ext_data_filled; cmd_wr->status = io->scsiio.scsi_status; cmd_wr->response = VIRTIO_SCSI_S_OK; memcpy(&cmd_wr->sense, &io->scsiio.sense_data, |