Greetings Peter,
Sent: Monday, November 02, 2020 at 4:20 PM
From: "Peter Krempa" <pkrempa(a)redhat.com>
To: "daggs" <daggs(a)gmx.com>
Cc: libvirt-users(a)redhat.com
Subject: Re: proper config for qemu's host_cdrom
Note that all of the above is not "SCSI passthrough" but rather device
emulation backed with a real cdrom. This is fine if you want to use the
cdrom for block operations (reading) CDs.
In that case qemu must use "host_cdrom" to provide functionality such as
eject.
For true SCSI passtrhrough, when all commands are passed to the host
device (good also for other operations, e.g. writing CDs)
For such operation the XML using <hostdev> ...
... as you've shown here is used.
In such case we use 'host_device' even for cdroms. qemu only allows to
use the 'host_device' protocol backend.
The main difference is that for the emulation interface (<disk>) we use
the block interface for the cdrom (/dev/sr0 for example). For hostdev we
open the SCSI-generic interface which is a character device and is used
to pass generic commads (/dev/sg0)
I've originally attempted to change the way we open /dev/sg0 as you
might know since you were CC'd on that thread, but testing actually
proved that the above approach is correct, for scsi passthrough we don't
need to treat the cdrom differently.
so host_device is the right way in this case? if so, any issues I see in the vm should be
sent to qemu ml right?
Dagg,