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

Guest agent can not recognize cdrom disk in windows guest

    • None
    • None
    • sst_virtualization_windows
    • ssg_virtualization
    • 15
    • 16
    • 5
    • False
    • Hide

      None

      Show
      None
    • Yes
    • Red Hat Enterprise Linux
    • None
    • None
    • None
    • Unspecified Release Note Type - Unknown
    • None

      Version-Release number of selected component (if applicable):
      libvirt-9.9.0-1.el9.x86_64
      virtio-win-1.9.35-0.el9.noarch

      How reproducible:
      100%

      Steps to Reproduce:
      1. Prepare a guest with cdrom disk

      # virsh dumpxml win2k19 --xpath //disk
      <disk type="file" device="disk">
        <driver name="qemu" type="qcow2"/>
        <source file="/var/lib/libvirt/images/esx6.7-win2019-x86_64-sda" index="2"/>
        <backingStore/>
        <target dev="sda" bus="sata"/>
        <alias name="sata0-0-0"/>
        <address type="drive" controller="0" bus="0" target="0" unit="0"/>
      </disk>
      <disk type="file" device="cdrom">
        <driver name="qemu" type="raw"/>
        <source file="/var/lib/libvirt/images/virtio-win-1.9.35.iso" startupPolicy="requisite" index="1"/>
        <backingStore/>
        <target dev="sdb" bus="sata"/>
        <readonly/>
        <alias name="sata0-0-1"/>
        <address type="drive" controller="0" bus="0" target="0" unit="1"/>
      </disk>
      

      2. Check qemu cmd line

      # ps aux |grep blockdev
      ....
      -blockdev {"driver":"file","filename":"/var/lib/libvirt/images/virtio-win-1.9.35.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"} -device {"driver":"ide-cd","bus":"ide.1","drive":"libvirt-1-format","id":"sata0-0-1"}
      ....
      

      3. Query disks of guest

      # virsh -c qemu:///system qemu-agent-command win2k19 '{"execute": "guest-get-disks"}' --pretty
      {
        "return": [
          {
            "name": "\\\\.\\PhysicalDrive0",
            "partition": false,
            "address": {
              "serial": "QM00001",
              "bus-type": "sata",
              "bus": 0,
              "unit": 0,
              "pci-controller": {
                "bus": -1,
                "slot": -1,
                "domain": -1,
                "function": -1
              },
              "dev": "\\\\.\\PhysicalDrive0",
              "target": 0
            }
          }
        ]
      }
      

      (No cdrom disk)

      Actual result:
      cdrom disk can not be displayed

      Expected result:
      cdrom disk can be displayed

      Additional info:
      1. cdrom disk in Linux guest can be displayed.

      # virsh -c qemu:///system qemu-agent-command avocado-vt-vm1 '{"execute": "guest-get-disks"}' --pretty
      {
        "return": [
         ....
          {
            "name": "/dev/sr0",
            "dependencies": [
      
            ],
            "partition": false,
            "address": {
              "serial": "QEMU_DVD-ROM_QM00001",
              "bus-type": "sata",
              "bus": 0,
              "unit": 0,
              "pci-controller": {
                "bus": 0,
                "slot": 31,
                "domain": 0,
                "function": 2
              },
              "dev": "/dev/sr0",
              "target": 0
            }
          },
        ....
        ]
      }
      

            kkostiuk Konstantin Kostiuk
            rhn-support-lizhu Lili Zhu
            Yan Vugenfirer Yan Vugenfirer
            Meng Dehan Meng Dehan
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: