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

Virsh dumpxml get wrong virtio-mem current size right after libvirt deamon restart

    • No
    • Moderate
    • rhel-sst-virtualization
    • ssg_virtualization
    • 5
    • Dev ack
    • False
    • Hide

      None

      Show
      None
    • None
    • Red Hat Enterprise Linux
    • None
    • None
    • None
    • 11.0.0
    • None

      What were you trying to do that didn't work?

      After restart libvirt deamon, then immediately virsh dumpxml to get virtio-mem device's config, the current size is 0. But wait for 1 seconds, the virsh dumpxml could get correct current size.

      Please provide the package NVR for which the bug is seen:

      # rpm -q libvirt qemu-kvm
      libvirt-10.10.0-1.el9.x86_64
      qemu-kvm-9.1.0-6.el9.x86_64

      How reproducible is this bug?:

      100%

      Steps to reproduce

      1. Start a guest with virtio-mem, and run cmd virsh dumpxml to get the config xml of the virtio-mem, and the current size of virtio-mem is correct

      # virsh dumpxml avocado-vt-vm1 --xpath '//devices/memory'
      <memory model="virtio-mem">
        <source>
          <pagesize unit="KiB">4</pagesize>
        </source>
        <target>
          <size unit="KiB">524288</size>
          <node>0</node>
          <block unit="KiB">2048</block>
          <requested unit="KiB">524288</requested>
          <current unit="KiB">524288</current>
          <address base="0x100000000"/>
        </target>
        <alias name="virtiomem0"/>
        <address type="pci" domain="0x0000" bus="0x07" slot="0x00" function="0x0"/>
      </memory>

      2. Restart libvirt deamon then run cmd virsh dumpxml immediately to get config xml of the virtio-mem

      # systemctl restart virtqemud && virsh dumpxml avocado-vt-vm1 --xpath '//devices/memory'
      <memory model="virtio-mem">
        <source>
          <pagesize unit="KiB">4</pagesize>
        </source>
        <target>
          <size unit="KiB">524288</size>
          <node>0</node>
          <block unit="KiB">2048</block>
          <requested unit="KiB">524288</requested>
          <current unit="KiB">0</current>
          <address base="0x100000000"/>
        </target>
        <alias name="virtiomem0"/>
        <address type="pci" domain="0x0000" bus="0x07" slot="0x00" function="0x0"/>
      </memory>

      Expected results

      The current size of virtio-mem is correctly shown as before libvirt deamon restart

      Actual results

      The current size of virtio-mem is shown as 0

       

      Additional info:

      If I sleep 1 second after libvirt deamon restart, then I could get correct nuber of virtio-mem current size:

      # systemctl restart virtqemud && sleep 1 && virsh dumpxml avocado-vt-vm1 --xpath '//devices/memory'
      <memory model="virtio-mem">
        <source>
          <pagesize unit="KiB">4</pagesize>
        </source>
        <target>
          <size unit="KiB">524288</size>
          <node>0</node>
          <block unit="KiB">2048</block>
          <requested unit="KiB">524288</requested>
          <current unit="KiB">524288</current>
          <address base="0x100000000"/>
        </target>
        <alias name="virtiomem0"/>
        <address type="pci" domain="0x0000" bus="0x07" slot="0x00" function="0x0"/>
      </memory>

              mprivozn@redhat.com Michal Privoznik
              lcong@redhat.com Liang Cong
              virt-maint virt-maint
              Liang Cong Liang Cong
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

                Created:
                Updated: