summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/108/other/1586611
blob: 6b7e0b3a86b0e660c14c19c46c8578839673f959 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
performance: 0.879
graphic: 0.843
device: 0.778
KVM: 0.762
other: 0.760
PID: 0.759
semantic: 0.688
network: 0.679
permissions: 0.676
vnc: 0.632
files: 0.603
socket: 0.559
boot: 0.511
debug: 0.459

usb-hub can not be detached when detach usb  device from VM

I give a host usb device to guest in the way of passthrough,use "virsh attach-device" cmd. In guest os,use "lsusb" cmd I can see two devices have been added,one is usb device and the other is usb-hub(0409:55aa NEC Corp. Hub).
when I use "virsh detach-device" detach the usb device,in guest os the usb-hub was still exists.
It can create a bad impression when operating the VM,for example,suspend and resume the VM,qemu would report that:

2016-05-24T12:03:54.434369Z qemu-kvm: Unknown savevm section or instance '0000:00:01.2/2/usb-hub' 0

2016-05-24T12:03:54.434742Z qemu-kvm: load of migration failed: Invalid argument  

From qemu's code,it can be sure that the usb-hub is generated by qemu,and the process of detaching usb-hub has already been executed,but failed.With adding print information,error as follows:
libusbx: error [do_close] Device handle closed while transfer was still being processed, but the device is still connected as far as we know
libusbx: warning [do_close] A cancellation for an in-flight transfer hasn't completed but closing the device handle

I found that when I attached an usb device to the VM, the VM would add an usb-hub automatically if there was no usb-hub.
After adding an usb-hub,the VM assigned a port to the actual usb device. When detaching the usb device,the qemu only detach the port,without detaching the usb-hub.So when doing action like migrating or suspending/resumming,the VM will fail. 

Try detach the usb-hub device by the virsh detach-device usb-hub.xml?

Of course using virtual usb controller is normal,The situation of the problems is to use the passthrough usb devices

The usb-hub device should be deleted when the usb device was detached. When do you fix this bug?

Use a newer libvirt version which manages usb addressing and assigns usb devices to usb ports.  This is required to make sure the physical device tree is the same after vmsave/vmload or live migration.