Il 06/03/2012 14:33, Michael S. Tsirkin ha scritto:
>> > virtio_load checks features that are enabled by the guest and
>> > blocks migration if they are not available in the destination
>> > host.  However, in some cases we can let features through because
>> > we know that guests will be able to proceed even without it.
>> > 
>> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
> 
> So why do we need these hacks? You are saying things
> work fine without this information. Then,
> why not just have the bit set in supported features always?

Not sure what you mean.

virtio-balloon works fine only because our implementation does not set
the bit.  I found it just by inspection, but it's wrong.  If QEMU
started setting VIRTIO_F_BALLOON_MUST_TELL_HOST, migration would fail to
a version that does not set it.

virtio-blk is what prompted the patch and it is a real bug.  Updating
libvirt on the destination causes the source's scsi=on to become
scsi=off on the destination.  Then migration fails (it used to crash,
Orit fixed the crash, I'm fixing the rest).  However, a kernel update
can cause the same behavioral change can happen even if
VIRTIO_BLK_F_SCSI remains on, so it is not a good reason to fail migration.

Paolo

Reply via email to