On (Tue) 05 Apr 2011 [12:17:30], Avi Kivity wrote:
>Guest kernel bug: CDROM change event missed, so the the
revalidate
>call isn't made, which causes stale data (like disc size) to be used
>on newer media.
>
>qemu bug: We don't handle the GET_EVENT_STATUS_NOTIFICATION command
>from guests (which is a mandatory command acc. to scsi spec) which the
>guest uses to detect CDROM changes. Once this command is implemented,
>QEMU sends the required info the guest needs to detect CDROM changes.
>I have this implemented locally (also sent as RFC PATCH 2/3 in the
>'cdrom bug roundup' thread.
>
>So: even if qemu is updated to handle this command, the guest won't
>work correctly since it misses the event.
Okay. We aren't responsible for guest kernel bugs, especially those
which apply to real hardware (we should make more effort for virtio
bugs). It's enough that we fix qemu here.
Actually I forgot about this already: it is possible for a workaround
in qemu: inject the event twice instead of once. ie, if the spec says
'SENSE_UNIT_ATTENTION' needs to be reset if some cmd is successful,
don't reset it the first time. That's how I confirmed the kernel bug
last week. It is such a horrible hack that I didn't want to keep it
around at all :-)
Amit