proper config for qemu's host_cdrom

daggs daggs at gmx.com
Wed Oct 28 14:06:51 UTC 2020


Greetings,

I was wondering what is the proper way to configure a scsi cdrom pass-through so in when the qemu line is generated, host_Cdrom will be used instead of host_device.

looking at https://gitlab.com/libvirt/libvirt/-/blob/master/src/qemu/qemu_block.c#L1090, I see that hostcdrom must be true.
in order for that to be true, the following must be (see https://gitlab.com/libvirt/libvirt/-/blob/master/src/qemu/qemu_domain.c#L7167):
1. disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM
2. disksrc->format == VIR_STORAGE_FILE_RAW
3. virStorageSourceIsBlockLocal(disksrc)
4. virFileIsCDROM(disksrc->path) == 1

virFileIsCDROM uses the kernel, so I assume that as disksrc->path points to the actual path (I can see it in the qemu line) than #4 returns 1.

the other 3 are more complicated. my xml snippet is this:
<devices>
  <hostdev mode='subsystem' type='scsi' rawio='yes'>
    <source>
      <adapter name='scsi_host0'/>
      <address bus='0' target='0' unit='0'/>
    </source>
    <readonly/>
    <address type='drive' controller='0' bus='0' target='0' unit='0'/>
  </hostdev>
</devices>

Thanks,

Dagg




More information about the libvirt-users mailing list