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

[qemu-kvm] Remove AioContext lock (no response with QMP command block_resize)

    • qemu-kvm-8.2.0-3.el9
    • Major
    • Regression, CustomerScenariosInitiative
    • sst_virtualization_storage
    • ssg_virtualization
    • 22
    • 24
    • 8
    • QE ack
    • False
    • Hide

      None

      Show
      None
    • Red Hat Enterprise Linux
    • x86_64
    • Linux

      It has no response with the QMP command block_resize 
      when trying to enlarge or shrink disk size.
      
      Please provide the package NVR for which bug is seen:
      Red Hat Enterprise Linux release 9.4 Beta (Plow)
      5.14.0-373.el9.x86_64
      qemu-kvm-8.1.0-3.el9.x86_64
      seabios-bin-1.16.1-1.el9.noarch
      edk2-ovmf-20230524-3.el9.noarch
      libvirt-9.5.0-7.el9_3.x86_64
      virtio-win-prewhql-0.1-240.iso
      
      How reproducible:
      25%
      
      Steps to reproduce
      1. Create image
      qemu-img create -f raw /home/kvm_autotest_root/images/stg.raw 10G
      
      2.Boot VM 
      /usr/libexec/qemu-kvm \
           -name 'avocado-vt-vm1'  \
           -sandbox on \
           -machine q35,memory-backend=mem-machine_mem \
           -device '{"id": "pcie-root-port-0", "driver": "pcie-root-port", "multifunction": true, "bus": "pcie.0", "addr": "0x1", "chassis": 1}' \
           -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 6144 \
           -object '{"size": 6442450944, "id": "mem-machine_mem", "qom-type": "memory-backend-ram"}'  \
           -smp 6,maxcpus=6,cores=3,threads=1,dies=1,sockets=2  \
           -cpu 'Haswell-noTSX',+kvm_pv_unhalt \
           -device isa-debugcon,chardev=seabioslog_id_20231107-063941-aEW3Ntxr,iobase=0x402 \
           -device '{"id": "pcie-root-port-1", "port": 1, "driver": "pcie-root-port", "addr": "0x1.0x1", "bus": "pcie.0", "chassis": 2}' \
           -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": "iothread0"}' \
           -object '{"qom-type": "iothread", "id": "iothread1"}' \
           -device '{"id": "pcie-root-port-2", "port": 2, "driver": "pcie-root-port", "addr": "0x1.0x2", "bus": "pcie.0", "chassis": 3}' \
           -device '{"id": "virtio_scsi_pci0", "driver": "virtio-scsi-pci", "bus": "pcie-root-port-2", "addr": "0x0", "iothread": "iothread0"}' \
           -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_stg", "driver": "file", "auto-read-only": true, "discard": "unmap", "aio": "threads", "filename": "/home/kvm_autotest_root/images/stg.raw", "cache": {"direct": true, "no-flush": false}}' \
           -blockdev '{"node-name": "drive_stg", "driver": "raw", "read-only": false, "cache": {"direct": true, "no-flush": false}, "file": "file_stg"}' \
           -device '{"driver": "scsi-hd", "id": "stg", "drive": "drive_stg", "write-cache": "on", "serial": "TARGET_DISK0"}' \
           -device '{"id": "pcie-root-port-3", "port": 3, "driver": "pcie-root-port", "addr": "0x1.0x3", "bus": "pcie.0", "chassis": 4}' \
           -device '{"driver": "virtio-net-pci", "mac": "9a:84:ed:02:bc:f6", "id": "idpWpz3u", "netdev": "idZIYAbw", "bus": "pcie-root-port-3", "addr": "0x0"}'  \
           -netdev tap,id=idZIYAbw,vhost=on,vhostfd=16,fd=12  \
           -vnc :0  \
           -rtc base=utc,clock=host,driftfix=slew  \
           -boot menu=off,order=cdn,once=c,strict=off \
           -enable-kvm \
           -device '{"id": "pcie_extra_root_port_0", "driver": "pcie-root-port", "multifunction": true, "bus": "pcie.0", "addr": "0x3", "chassis": 5}'  3. format data disk and write file on it
      disk=`lsblk -nd |grep 10G|awk '
      
      3.login guest and format the data disk
      
      disk=$1
      echo "$disk"
      parted -s "/dev/${disk}" mklabel gpt
      parted -s "/dev/${disk}" mkpart primary 0M 10240.0M
      partprobe /dev/${disk}
      yes|mkfs.ext4 -F "/dev/${disk}1"
      rm -rf /mnt/${disk}; mkdir /mnt/${disk}
      mount -t ext4 /dev/${disk}1 /mnt/${disk}
      lsblk /dev/${disk}
      mount |grep ${disk}
      
      4. enlarge data disk by QMP command
      {"execute": "block_resize", "arguments": {"node-name": "drive_stg", "size": 16106127360}, "id": "PXvpxnT8"}
      
      
      Expected results
      QMP command execution succeed
      
      Actual results
      no response
      
      not hit this issue on
      qemu-kvm-8.0.0-16.el9_3
      
       
      
      

            kwolf@redhat.com Kevin Wolf
            qingwangrh qing wang
            virt-maint virt-maint
            qing wang qing wang
            Votes:
            0 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated:
              Resolved: