v2: - series overhauled - first 2 patches are cleanups (split in 2 for easier review), patch 3 contains the whole logic - previous version link: https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg02289.html
When using SCSI passthrough and running in Linux, QEMU edits the reply of the SCSI Inquiry VPD Block Limits message with the value of the /sys/bus/<dev>/queue/max_sectors_kb parameter the device has in the host. Doing so allows the Linux guest to proper setup the device. But the Block Limits message is optional, and its absence can cause the device to be unusable by the guest. An example can be seen at https://bugzilla.redhat.com/show_bug.cgi?id=1566195. This series implements an approach to solve it. Daniel Henrique Barboza (3): hw/scsi: cleanups before VPD BL emulation hw/scsi: centralize SG_IO calls into single function hw/scsi: add VPD Block Limits emulation hw/scsi/scsi-disk.c | 427 +++++++++++++++++++++-------------------- hw/scsi/scsi-generic.c | 246 ++++++++++++++++++------ include/hw/scsi/scsi.h | 6 +- 3 files changed, 401 insertions(+), 278 deletions(-) -- 2.17.1