-
Bug
-
Resolution: Unresolved
-
Major
-
rhel-9.4
-
None
-
No
-
None
-
CustomerScenariosInitiative
-
rhel-sst-virtualization-windows
-
ssg_virtualization
-
22
-
22
-
None
-
False
-
-
None
-
None
-
None
-
None
-
-
x86_64
-
None
What were you trying to do that didn't work?
Exposing a LUN from LPFC to a Windows Guest using virtio-scsi with the following limits:
% grep . sys/block/<underlying block device>/queue/max* sys/block/sdf/queue/max_discard_segments:1 sys/block/sdf/queue/max_hw_sectors_kb:2147483647 sys/block/sdf/queue/max_integrity_segments:0 sys/block/sdf/queue/max_sectors_kb:4096 sys/block/sdf/queue/max_segment_size:65536 sys/block/sdf/queue/max_segments:64
The Windows Guest still sends an IO that has too many vectors > 64, getting an EINVAL from the driver and pausing the VM.
{{}}
2076942 12:26:46.026645 ioctl(25</dev/testdisk>, SG_IO, {interface_id='S', dxfer_direction=SG_DXFER_FROM_DEV, cmd_len=10, cmdp="\x28\x00\x00\x5f\xfb\x78\x00\x08\x00\x00", mx_sb_len=252, iovec_count=256, dxfer_len=1048576, timeout=30000, flags=SG_FLAG_DIRECT_IO, dxferp=[...], status=0, masked_status=0, msg_status=0, sb_len_wr=0, sbp="", host_status=0, driver_status=0, resid=0, duration=0, info=0}) = -1 EINVAL (Invalid argument) <0.000062>
{{}}
Please provide the package NVR for which bug is seen:
All versions
How reproducible:
Always
Steps to reproduce
- Enable SG_IO for the Windows Guest
- Expose a device with low max_segments to the Guest
- Do some I/O from the Guest and see it getting EINVAL