Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-43412

qom-get iothread-vq-mapping is empty on new hotplug disk [rhel-10.0-beta]

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • rhel-10.0.beta
    • qemu-kvm
    • rhel-sst-virtualization-storage
    • ssg_virtualization
    • None
    • QE ack
    • False
    • Hide

      None

      Show
      None
    • Yes
    • Red Hat Enterprise Linux
    • None
    • Known Issue
    • Hide
      Cause (the user action or circumstances that trigger the bug):
      Consequence (what the user experience is when the bug occurs):
      Workaround (if available):
      Result (mandatory if the workaround does not solve the problem completely):
      Show
      Cause (the user action or circumstances that trigger the bug): Consequence (what the user experience is when the bug occurs): Workaround (if available): Result (mandatory if the workaround does not solve the problem completely):
    • Proposed
    • x86_64
    • Linux
    • None

      (clone from RHEL-39948  , same issue exist rhel10-Beta)

       

      What were you trying to do that didn't work?
      Hotplug disk with iothread-vq-mapping.
      The qom-get get empty iothread-vq-mapping

      {"execute": "qom-get", "arguments":

      {"path": "stg6", "property": "iothread-vq-mapping"}

      , "id": "qA8n3Yjy"}
      []

      Please provide the package NVR for which bug is seen:
      Red Hat Enterprise Linux release 10.0 Beta (Plow)
      6.9.0-0.rc2.1.el10.x86_64
      qemu-kvm-9.0.0-2.el10.x86_64

      How reproducible:
      100%

      Steps to reproduce

      1.Boot VM
      /usr/libexec/qemu-kvm \
          -name 'avocado-vt-vm1'  \
          -sandbox on \
          -machine q35 \
          -device '{"id": "pcie-pci-bridge-0", "driver": "pcie-pci-bridge", "addr": "0x0", "bus": "pcie-root-port-0"}'  \
          -nodefaults \
          -device '{"driver": "VGA", "bus": "pcie.0", "addr": "0x2"}' \
          -m 8G \
          -smp 8,maxcpus=16,cores=8,threads=1,dies=1,sockets=2  \
          -cpu 'Skylake-Server-IBRS',ss=on,vmx=on,pdcm=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,pku=on,md-clear=on,stibp=on,flush-l1d=on,arch-capabilities=on,ssbd=on,xsaves=on,ibpb=on,ibrs=on,amd-stibp=on,amd-ssbd=on,rsba=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,kvm_pv_unhalt=on \
          -device pcie-root-port,id=pcie-root-port-0,multifunction=on,bus=pcie.0,addr=0x3,chassis=1 \
          -device pcie-root-port,id=pcie-root-port-1,port=0x1,addr=0x3.0x1,bus=pcie.0,chassis=2 \
          -device pcie-root-port,id=pcie-root-port-2,port=0x2,addr=0x3.0x2,bus=pcie.0,chassis=3 \
          -device pcie-root-port,id=pcie-root-port-3,port=0x3,addr=0x3.0x3,bus=pcie.0,chassis=4 \
          -device pcie-root-port,id=pcie-root-port-4,port=0x4,addr=0x3.0x4,bus=pcie.0,chassis=5 \
          -device pcie-root-port,id=pcie-root-port-5,port=0x5,addr=0x3.0x5,bus=pcie.0,chassis=6 \
          -device pcie-root-port,id=pcie-root-port-6,port=0x6,addr=0x3.0x6,bus=pcie.0,chassis=7 \
          -device pcie-root-port,id=pcie-root-port-7,port=0x7,addr=0x3.0x7,bus=pcie.0,chassis=8 \
          -device pcie-root-port,id=pcie-root-port-8,multifunction=on,bus=pcie.0,addr=0x4,chassis=9 \
          -device pcie-root-port,id=pcie-root-port-9,port=0x1,addr=0x4.0x1,bus=pcie.0,chassis=10 \
          -device '{"driver": "qemu-xhci", "id": "usb1", "bus": "pcie-root-port-1", "addr": "0x0"}' \
          -device '{"driver": "usb-tablet", "id": "usb-tablet1", "bus": "usb1.0", "port": "1"}' \
          -object '{"qom-type": "iothread", "id": "t1"}' \
          -object '{"qom-type": "iothread", "id": "t2"}' \
          -object '{"qom-type": "iothread", "id": "t3"}' \
          -object '{"qom-type": "iothread", "id": "t4"}' \
          -device '{"id": "scsi0", "driver": "virtio-scsi-pci",  "iothread": "t1"}' \
          -blockdev '{"node-name": "file_image1", "driver": "file", "auto-read-only": true, "discard": "unmap", "aio": "threads", "filename": "/home/kvm_autotest_root/images/rhel940-64-virtio-scsi.qcow2", "cache": {"direct": true, "no-flush": false}}' \
          -blockdev '{"node-name": "drive_image1", "driver": "qcow2", "read-only": false, "cache": {"direct": true, "no-flush": false}, "file": "file_image1"}' \
          -device '{"driver": "scsi-hd", "id": "image1", "drive": "drive_image1", "write-cache": "on"}' \
          \
          -blockdev '{"node-name": "file_stg1", "driver": "file","filename": "/home/kvm_autotest_root/images/mstg1.qcow2","auto-read-only": true, "discard": "unmap", "aio": "threads", "cache": {"direct": true, "no-flush": false}}' \
          -blockdev '{"node-name": "drive_stg1", "driver": "qcow2", "file": "file_stg1","read-only": false, "cache": {"direct": true, "no-flush": false}}' \
          -device '{"driver": "virtio-blk-pci", "id": "stg1", "bus":"pcie-root-port-4","drive": "drive_stg1", "serial": "stg1", "iothread-vq-mapping": [{"iothread":"t1"},{"iothread":"t2"},{"iothread":"t3"},{"iothread":"t4"}],"write-cache": "on"}' \
          \
          -blockdev '{"node-name": "file_stg2", "driver": "file","filename": "/home/kvm_autotest_root/images/mstg2.qcow2","auto-read-only": true, "discard": "unmap", "aio": "threads", "cache": {"direct": true, "no-flush": false}}' \
          -blockdev '{"node-name": "drive_stg2", "driver": "qcow2", "file": "file_stg2","read-only": false, "cache": {"direct": true, "no-flush": false}}' \
          -device '{"driver": "virtio-blk-pci", "id": "stg2", "bus":"pcie-root-port-5","drive": "drive_stg2", "serial": "stg2", "iothread-vq-mapping": [{"iothread":"t1"},{"iothread":"t3"}],"write-cache": "on"}' \
          \
          -blockdev '{"node-name": "file_stg3", "driver": "file","filename": "/home/kvm_autotest_root/images/mstg3.qcow2","auto-read-only": true, "discard": "unmap", "aio": "threads", "cache": {"direct": true, "no-flush": false}}' \
          -blockdev '{"node-name": "drive_stg3", "driver": "qcow2", "file": "file_stg3","read-only": false, "cache": {"direct": true, "no-flush": false}}' \
          -device '{"driver": "virtio-blk-pci", "id": "stg3", "bus":"pcie-root-port-6","drive": "drive_stg3", "serial": "stg3", "iothread-vq-mapping": [{"iothread":"t1","vqs":[0,1,2,3]},{"iothread":"t2","vqs":[4,5,6,7]}],"write-cache": "on"}' \
          \
          -blockdev '{"node-name": "file_stg4", "driver": "file","filename": "/home/kvm_autotest_root/images/mstg4.qcow2","auto-read-only": true, "discard": "unmap", "aio": "threads", "cache": {"direct": true, "no-flush": false}}' \
          -blockdev '{"node-name": "drive_stg4", "driver": "qcow2", "file": "file_stg4","read-only": false, "cache": {"direct": true, "no-flush": false}}' \
          -device '{"driver": "virtio-blk-pci", "id": "stg4", "bus":"pcie-root-port-7","drive": "drive_stg4", "serial": "stg4", "num-queues":6,"iothread-vq-mapping": [{"iothread":"t1","vqs":[0,1,2,3]},{"iothread":"t2","vqs":[4,5]}],"write-cache": "on"}' \
          \
          -device '{"driver": "virtio-net-pci", "mac": "9a:44:a1:67:9c:25", "id": "ideRavgQ", "netdev": "idiQdf3z", "bus": "pcie-root-port-3", "addr": "0x0"}'  \
          -netdev tap,id=idiQdf3z,vhost=on  \
          -vnc :5 \
          -monitor stdio \
          -qmp tcp:0:5955,server=on,wait=off \
          -boot menu=on,reboot-timeout=1000,strict=off \
          \
      
      2.hotplug disk with iothread-vq-mapping
      {"execute": "blockdev-add", "arguments": {"node-name": "file_stg6", "driver": "file", "aio": "threads", "filename": "/home/kvm_autotest_root/images/mstg6.qcow2", "cache": {"direct": true, "no-flush": false}}}
      
      {"execute": "blockdev-add", "arguments": {"node-name": "drive_stg6", "driver": "qcow2", "read-only": false, "file": "file_stg6"}}
      
      
      {"execute": "device_add", "arguments": {"driver": "virtio-blk-pci", "id": "stg6", "drive": "drive_stg6", "write-cache": "on", "bus": "pcie-root-port-8",  "iothread-vq-mapping": [{"iothread":"t1"},{"iothread":"t2"}]}, "id": "DXHZZ3FW"}
      
      3.login guest to check disk existence
      
      4.execute qom-get to check property iothread-vq-mapping
      {"execute": "qom-get", "arguments": {"path": "stg1", "property": "iothread-vq-mapping"}}
      {"return": [{"iothread": "t1"}, {"iothread": "t2"}, {"iothread": "t3"}, {"iothread": "t4"}]}
      
      {"execute": "qom-get", "arguments": {"path": "stg6", "property": "iothread-vq-mapping"}}
      {"return": []}
      
      
      

      Expected results
      The qom-get should get relevant info

      Actual results
      empty

      Other info:
      1. It may get the expected list on a non-hotplug disk.

      2. The same issue can also be found on 

      qemu-kvm-8.2.0-11.el9_4.2.x86_64

              shajnocz@redhat.com Stefan Hajnoczi
              qingwangrh qing wang
              virt-maint virt-maint
              qing wang qing wang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: