Bug 2120279
| Summary: | Wrong max_sectors_kb and Maximum transfer length on the pass-through device [rhel-8.7] | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | qing.wang <qinwang> | |
| Component: | qemu-kvm | Assignee: | Kevin Wolf <kwolf> | |
| qemu-kvm sub component: | virtio-blk,scsi | QA Contact: | qing.wang <qinwang> | |
| Status: | CLOSED ERRATA | Docs Contact: | ||
| Severity: | high | |||
| Priority: | high | CC: | bhull, coli, ehadley, jinzhao, juzhang, jwboyer, kanderso, kkiwi, kpfleming, kwolf, lijin, mgandhi, qzhang, virt-maint, xuwei, ymankad, zhguo | |
| Version: | 8.7 | Keywords: | Triaged, ZStream | |
| Target Milestone: | rc | Flags: | pm-rhel:
mirror+
|
|
| Target Release: | --- | |||
| Hardware: | x86_64 | |||
| OS: | All | |||
| Whiteboard: | ||||
| Fixed In Version: | qemu-kvm-6.2.0-20.module+el8.7.0+16496+35f7e655 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 2121537 2121783 2121784 (view as bug list) | Environment: | ||
| Last Closed: | 2022-11-08 09:20:55 UTC | Type: | --- | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 2121537, 2121783, 2121784 | |||
|
Description
qing.wang
2022-08-22 12:08:04 UTC
A scratch build with the fix is available at: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=47311512 QE bot(pre verify): Set 'Verified:Tested,SanityOnly' as gating/tier1 test pass. Passed block sanity test and manually verification below: Red Hat Enterprise Linux release 8.7 Beta (Ootpa) 4.18.0-422.el8.x86_64 qemu-kvm-6.2.0-20.module+el8.7.0+16496+35f7e655.x86_64 seabios-bin-1.16.0-3.module+el8.7.0+16134+e5908aa2.noarch edk2-ovmf-20220126gitbb1bba3d77-3.el8.noarch Get FC disk on HOST /sys/block/sdb/queue/max_sectors_kb:1280 /sys/block/sdb/queue/max_segments:64 VPD INQUIRY: Block limits page (SBC) Maximum transfer length: 0 blocks [not reported] pass-through to guest [ "$1" == "" ] && disk=sdb || disk=$1 /usr/libexec/qemu-kvm \ -name src_vm1 \ -machine q35,accel=kvm,usb=off,dump-guest-core=off \ -m 8G \ -smp 2 \ -cpu host,vmx,+kvm_pv_unhalt \ -device pcie-root-port,id=pcie.0-root-port-2,slot=2,bus=pcie.0,multifunction=on \ -device pcie-root-port,id=pcie.0-root-port-2-1,chassis=3,bus=pcie.0,addr=0x2.0x1 \ -device pcie-root-port,id=pcie.0-root-port-2-2,chassis=4,bus=pcie.0,addr=0x2.0x2 \ -device pcie-root-port,id=pcie.0-root-port-3,slot=3,bus=pcie.0 \ -device pcie-root-port,id=pcie.0-root-port-4,slot=4,bus=pcie.0 \ -device pcie-root-port,id=pcie.0-root-port-5,slot=5,bus=pcie.0 \ -device pcie-root-port,id=pcie.0-root-port-7,slot=7,bus=pcie.0 \ -device pcie-root-port,id=pcie.0-root-port-8,slot=8,bus=pcie.0 \ -device pcie-root-port,id=pcie.0-root-port-9,slot=9,bus=pcie.0 \ -device qemu-xhci,id=usb1,bus=pcie.0-root-port-2-1,addr=0x0 \ -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \ -object iothread,id=iothread0 \ -device virtio-scsi-pci,id=scsi0,bus=pcie.0-root-port-2-2,addr=0x0,iothread=iothread0 \ -blockdev \ driver=qcow2,file.driver=file,cache.direct=off,cache.no-flush=on,file.filename=/home/kvm_autotest_root/images/rhel840-64-virtio-scsi.qcow2,node-name=drive_image1 \ -device scsi-hd,id=os1,drive=drive_image1,bootindex=0 \ \ \ -device virtio-scsi-pci,id=scsi1,bus=pcie.0-root-port-8,addr=0x0 \ \ -blockdev node-name=host_device_stg,driver=host_device,aio=native,filename=/dev/$disk,cache.direct=on,cache.no-flush=off,discard=unmap \ -blockdev node-name=drive_stg,driver=raw,cache.direct=on,cache.no-flush=off,file=host_device_stg \ -device scsi-block,id=stg,drive=drive_stg,rerror=stop,werror=stop \ \ -vnc \ :5 \ -qmp tcp:0:5955,server,nowait \ -monitor stdio \ \ -device virtio-net-pci,mac=9a:b5:b6:b1:b2:b5,id=idMmq1jH,vectors=4,netdev=idxgXAlm,bus=pcie.0-root-port-5,addr=0x0 \ -netdev tap,id=idxgXAlm Get disk info in guest /sys/block/sdb/queue/max_sectors_kb:256 /sys/block/sdb/queue/max_segments:254 Maximum transfer length: 512 blocks change max_sectors_kb to 64 on host then reboot guest echo 64 > /sys/block/sdb/queue/max_sectors_kb /sys/block/sdb/queue/max_sectors_kb:64 /sys/block/sdb/queue/max_segments:254 Maximum transfer length: 128 blocks change max_sectors_kb to 1024 on host then reboot guest echo 1024 > /sys/block/sdb/queue/max_sectors_kb /sys/block/sdb/queue/max_sectors_kb:256 /sys/block/sdb/queue/max_segments:254 Maximum transfer length: 512 blocks Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Low: virt:rhel and virt-devel:rhel security, bug fix, and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:7472 |