[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v1 3/5] pc-bios/s390-ccw: Move SCSI block factor
From: |
Eric Farman |
Subject: |
[Qemu-devel] [RFC PATCH v1 3/5] pc-bios/s390-ccw: Move SCSI block factor to outer read |
Date: |
Wed, 26 Apr 2017 16:46:43 +0200 |
Simple refactoring so that the blk_factor adjustment is
moved into virtio_scsi_read_many routine, in preparation
for another change.
Signed-off-by: Eric Farman <address@hidden>
---
pc-bios/s390-ccw/virtio-scsi.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/pc-bios/s390-ccw/virtio-scsi.c b/pc-bios/s390-ccw/virtio-scsi.c
index 69b7a93..6d070e2 100644
--- a/pc-bios/s390-ccw/virtio-scsi.c
+++ b/pc-bios/s390-ccw/virtio-scsi.c
@@ -142,14 +142,13 @@ static bool scsi_report_luns(VDev *vdev, void *data,
uint32_t data_size)
}
static bool scsi_read_10(VDev *vdev,
- ulong sector, int sectors, void *data)
+ ulong sector, int sectors, void *data,
+ unsigned int data_size)
{
- int f = vdev->blk_factor;
- unsigned int data_size = sectors * virtio_get_block_size() * f;
ScsiCdbRead10 cdb = {
.command = 0x28,
- .lba = sector * f,
- .xfer_length = sectors * f,
+ .lba = sector,
+ .xfer_length = sectors,
};
VirtioCmd read_10[] = {
{ &req, sizeof(req), VRING_DESC_F_NEXT },
@@ -255,7 +254,10 @@ static void virtio_scsi_locate_device(VDev *vdev)
int virtio_scsi_read_many(VDev *vdev,
ulong sector, void *load_addr, int sec_num)
{
- if (!scsi_read_10(vdev, sector, sec_num, load_addr)) {
+ int f = vdev->blk_factor;
+ unsigned int data_size = sec_num * virtio_get_block_size() * f;
+
+ if (!scsi_read_10(vdev, sector * f, sec_num * f, load_addr, data_size)) {
virtio_scsi_verify_response(&resp, "virtio-scsi:read_many");
}
--
2.10.2