** Also affects: libvirt (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Changed in: libvirt (Ubuntu Precise)
       Status: New => In Progress

** Changed in: libvirt (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: libvirt (Ubuntu Precise)
     Assignee: (unassigned) => Serge Hallyn (serge-hallyn)

** Changed in: libvirt (Ubuntu)
       Status: In Progress => Fix Released

** Description changed:

+ =================================
+ SRU Justification
+ 1. Impact: cannot attach host usb device to domain 2 after attaching it to 
domain 1 and shutting down domain 1.
+ 2. Development fix: Reattach usb device to host when domain shuts down
+ 3. Stable fix: same as development fix backport of upstream patch.
+ 4. test case:
+       To test inside a precise kvm guest,
+       1. create a nested libvirt domain as per 
https://wiki.ubuntu.com/SergeHallyn_libvirtnest
+       2. Create usb.xml file containing:
+     <hostdev mode='subsystem' type='usb' managed='yes'>
+       <source>
+         <vendor id='0x1d6b'/>
+         <product id='0x0001'/>
+       </source>
+     </hostdev>
+         3. start cdboot, and attach the device to it
+          virsh start cdboot
+          virsh attach-device cdboot usb.xml
+       4. stop cdboot, restart it, and try to attach the device again
+          virsh destroy cdboot
+          virsh start cdboot
+          virsh attach-device cdboot usb.xml
+       Without this fix, the second attach-device will fail.
+ 5. Regression potential:
+    This adds new code to the domain shutdown and libvirt start sequences.  
However they
+    only affect the list of usb devices, so any regressions should be caught 
at usb
+    device add/remove and libvirtd start/stop.
+ 
+ =================================
+ 
  Running Ubuntu 12.04 x86_64
  libvirt0 and libvirt-bin 0.9.8-2ubuntu17.8 causes a regression.
  I am using QEMU/KVM virtual machines.
  
  To reproduce:
-    use virsh to create/start a vm
-    use virsh to attach-device a host usb device
-    use virsh to stop/destroy the vm
-    use virsh to create vm again
-    use virsh to attach the usb device again
-    
+    use virsh to create/start a vm
+    use virsh to attach-device a host usb device
+    use virsh to stop/destroy the vm
+    use virsh to create vm again
+    use virsh to attach the usb device again
+ 
  I get:
  virsh attach-device vm1 /var/lib/libvirt/hotplug/usb-serial.xml
  error: Failed to attach device from /var/lib/libvirt/hotplug/usb-serial.xml
  error: Requested operation is not valid: USB device 002:005 is in use by 
domain ..
  
  Note the ".." characters.  That is literal.  It is printing garbage 
characters.
  The failure is not 100% of the time but is pretty high (50% ?)
  
  usb-serial.xml:
-     <hostdev mode='subsystem' type='usb' managed='yes'>
-       <source>
-         <vendor id='0x067b'/>
-         <product id='0x2303'/>
-       </source>
-     </hostdev>
+     <hostdev mode='subsystem' type='usb' managed='yes'>
+       <source>
+         <vendor id='0x067b'/>
+         <product id='0x2303'/>
+       </source>
+     </hostdev>
  
- 
- backing up libvirt0 and libvirt-bin to 0.9.8-2ubuntu17.7 makes this problem 
go away.
+ backing up libvirt0 and libvirt-bin to 0.9.8-2ubuntu17.7 makes this
+ problem go away.
  
  While looking at this I found a Fedora bug that looks similar. The upstream 
patches they identified may be of interest.
  https://bugzilla.redhat.com/show_bug.cgi?id=814866

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to libvirt in Ubuntu.
https://bugs.launchpad.net/bugs/1190387

Title:
  attach-device of usb falsely declares device in use by other domain

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1190387/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to