Bug 1295638 - Migration also success with passthrough usb device to the guest
Migration also success with passthrough usb device to the guest
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
6.8
Unspecified Unspecified
high Severity high
: rc
: ---
Assigned To: Gerd Hoffmann
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-01-05 00:03 EST by jingzhao
Modified: 2016-01-13 02:17 EST (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-01-12 03:09:47 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description jingzhao 2016-01-05 00:03:36 EST
Description of problem:
Migration also success with passthrough usb device to the guest


Version-Release number of selected component (if applicable):
kernel version:2.6.32-595.el6.x86_64
qemu-kvm-0.12.1.2-2.482.el6.x86_64

How reproducible:
3/3


Steps to Reproduce:
1.Boot guest in src with following cli:
/usr/libexec/qemu-kvm \
-name rhel6 \
-machine rhel6.6.0,accel=kvm \
-realtime mlock=off \
-cpu Westmere \
-m 6G   \
-smp 4,cores=2,threads=1,sockets=2  \
-uuid 49a3438a-70a3-4ba8-92ce-3a05e0934608 \
-nodefaults \
-rtc base=utc,driftfix=slew \
-monitor unix:/tmp/monitor-unix,server,nowait \
-global kvm-pit.lost_tick_policy=discard \
-global PIIX4_PM.disable_s3=1 \
-global PIIX4_PM.disable_s4=1 \
-boot order=c,menu=on,strict=on \
-readconfig /home/ich9-ehci-uhci.cfg \
-device usb-kbd,id=kbd1,bus=ehci.0 \
-device usb-host,hostbus=3,hostaddr=4,bus=ehci.0,id=hostdev,port=5 \
-drive file=/mnt/usb/usb-storage.qcow2,if=none,id=storage0,media=disk,cache=none,format=qcow2 \
-device usb-storage,drive=storage0,removable=on,bus=ehci.0,id=storage0,bootindex=1 \
-drive file=/mnt/usb/win10usb.img,if=none,id=ide,media=disk,cache=none,format=raw \
-device ide-drive,drive=ide,id=ide0,bootindex=0 \
-cdrom /usr/share/virtio-win/virtio-win.iso \
-netdev tap,id=hostnet1  \
-device e1000,netdev=hostnet1,id=virtio-net-pci1,mac=b6:2f:a8:85:72:6c,bus=pci.0,multifunction=off \
-monitor stdio \
-qmp tcp:0:4467,server,nowait -serial unix:/tmp/ttym,server,nowait \
-vga qxl \
-spice port=5911,addr=0.0.0.0,disable-ticketing,seamless-migration=on \
-k en-us \
-chardev spicevmc,id=charredir1,name=usbredir \
-device usb-redir,chardev=charredir1,id=redir1,bus=ehci.0 \
-chardev spicevmc,id=charredir2,name=usbredir \
-device usb-redir,chardev=charredir2,id=redir2,bus=ehci.0 \


2. Boot guest in dest with "-incoming tcp:0:5800"

3. In src, check the device which passthrough from host work well and executed monitor command "migrate -d tcp: ipaddress:5800"


Actual results:
Migrated successfully and guest which in dest work well

Expected results:
Migrated failed and for "state blocked by non-migratable device"



Additional info:
Comment 2 Gerd Hoffmann 2016-01-12 03:09:47 EST
> Actual results:
> Migrated successfully and guest which in dest work well

Works as intended.  Live migration support has been added to usb-host in one of the 6.x minor releases (it is not fully transparent to the guest though, you should see the guest re-initializing the device in the guest kernel log).

> Expected results:
> Migrated failed and for "state blocked by non-migratable device"

Only for old RHEL-6.x versions (with x <= 3 IIRC).
Comment 3 jingzhao 2016-01-12 03:37:55 EST
(In reply to Gerd Hoffmann from comment #2)
> > Actual results:
> > Migrated successfully and guest which in dest work well
> 
> Works as intended.  Live migration support has been added to usb-host in one
> of the 6.x minor releases (it is not fully transparent to the guest though,
> you should see the guest re-initializing the device in the guest kernel log).

--Gerd, migrated successfully after RHEL-6.3 version according your reply,  I think it's not the intended result for migrated with passthrough device and I think migrated should failed with passthrough device. Also, I tried it on rhel7 host and migrated failed in rhel7 host(qemu-img-rhev-2.3.0-31.el7_2.3.x86_64). could you help me to confirm it? which test result should the expected test result?

Thanks
Jing

> 
> > Expected results:
> > Migrated failed and for "state blocked by non-migratable device"
> 
> Only for old RHEL-6.x versions (with x <= 3 IIRC).
Comment 4 Gerd Hoffmann 2016-01-12 04:56:02 EST
> --Gerd, migrated successfully after RHEL-6.3 version according your reply, 
> I think it's not the intended result for migrated with passthrough device
> and I think migrated should failed with passthrough device.

No, it should work.

> Also, I tried it
> on rhel7 host and migrated failed in rhel7
> host(qemu-img-rhev-2.3.0-31.el7_2.3.x86_64). could you help me to confirm
> it?

On RHEL-7 it should work too (and does here on a quick test).
Comment 5 jingzhao 2016-01-13 02:17:43 EST
(In reply to Gerd Hoffmann from comment #4)
> > --Gerd, migrated successfully after RHEL-6.3 version according your reply, 
> > I think it's not the intended result for migrated with passthrough device
> > and I think migrated should failed with passthrough device.
> 
> No, it should work.
> 
> > Also, I tried it
> > on rhel7 host and migrated failed in rhel7
> > host(qemu-img-rhev-2.3.0-31.el7_2.3.x86_64). could you help me to confirm
> > it?
> 
> On RHEL-7 it should work too (and does here on a quick test).

--[jingzhao] Gerd, used qemu-img-rhev-2.3.0-31.el7_2.5.x86_64 and 3.10.0-327.5.1.el7.x86_64 and didn't reproduce the issue. thanks for your confirm.

Note You need to log in before you can comment on or make changes to this bug.