qemu: Rollback on used USB devices
qemu: Rollback on used USB devices

One of our latest USB device handling patches
05abd1507d66aabb6cad12eeafeb4c4d1911c585 introduced a regression.
That is, we first create a temporary list of all USB devices that
are to be used by domain just starting up. Then we iterate over and
check if a device from the list is in the global list of currently
assigned devices (activeUsbHostdevs). If not, we add it there and
continue with next iteration then. But if a device from temporary
list is either taken already or adding to the activeUsbHostdevs fails,
we remove all devices in temp list from the activeUsbHostdevs list.
Therefore, if a device is already taken we remove it from
activeUsbHostdevs even if we should not. Thus, next time we allow
the device to be assigned to another domain.

warewolf/libvirt,rmarwaha/libvirt1,andreabolognani/libvirt,siboulet/libvirt-openvz,zippy2/libvirt,zippy2/libvirt,rlaager/libvirt,rmarwaha/libvirt,andreabolognani/libvirt,rmarwaha/libvirt1,datto/libvirt,bjzhang/libvirt,shugaoye/libvirt,olafhering/libvirt,rmarwaha/libvirt,shugaoye/libvirt,novel/fbsd-libvirt,olafhering/libvirt,zhlcindy/libvirt-1.1.4-maintain,fabianfreyer/libvirt,trainstack/libvirt,jfehlig/libvirt,novel/fbsd-libvirt,zhlcindy/libvirt-1.1.4-maintain,fabianfreyer/libvirt,siboulet/libvirt-openvz,trainstack/libvirt,nertpinx/libvirt,rmarwaha/libvirt,taget/libvirt,crobinso/libvirt,datto/libvirt,emaste/libvirt,novel/fbsd-libvirt,novel/fbsd-libvirt,dumbbell/libvirt,wiedi/libvirt,eskultety/libvirt,eskultety/libvirt,fabianfreyer/libvirt,rmarwaha/libvirt1,crobinso/libvirt,jeckersb/libvirt,warewolf/libvirt,andreabolognani/libvirt,jardasgit/libvirt,VenkatDatta/libvirt,jfehlig/libvirt,dumbbell/libvirt,dumbbell/libvirt,crobinso/libvirt,nertpinx/libvirt,jeckersb/libvirt,olafhering/libvirt,elmarco/libvirt,iam-TJ/libvirt,warewolf/libvirt,jeckersb/libvirt,nertpinx/libvirt,novel/fbsd-libvirt,shugaoye/libvirt,warewolf/libvirt,fabianfreyer/libvirt,wiedi/libvirt,nertpinx/libvirt,emaste/libvirt,emaste/libvirt,rmarwaha/libvirt,wiedi/libvirt,eskultety/libvirt,wiedi/libvirt,bjzhang/libvirt,taget/libvirt,trainstack/libvirt,rlaager/libvirt,wiedi/libvirt,rlaager/libvirt,siboulet/libvirt-openvz,jardasgit/libvirt,wiedi/libvirt,wiedi/libvirt,jfehlig/libvirt,trainstack/libvirt,VenkatDatta/libvirt,eskultety/libvirt,emaste/libvirt,siboulet/libvirt-openvz,emaste/libvirt,cbosdo/libvirt,trainstack/libvirt,rmarwaha/libvirt,iam-TJ/libvirt,agx/libvirt,iam-TJ/libvirt,novel/fbsd-libvirt,jardasgit/libvirt,agx/libvirt,VenkatDatta/libvirt,andreabolognani/libvirt,rmarwaha/libvirt1,VenkatDatta/libvirt,trainstack/libvirt,warewolf/libvirt,taget/libvirt,agx/libvirt,fabianfreyer/libvirt,taget/libvirt,bjzhang/libvirt,datto/libvirt,shugaoye/libvirt,dumbbell/libvirt,olafhering/libvirt,rmarwaha/libvirt,novel/fbsd-libvirt,dumbbell/libvirt,jfehlig/libvirt,jardasgit/libvirt,jeckersb/libvirt,elmarco/libvirt,warewolf/libvirt,iam-TJ/libvirt,libvirt/libvirt,taget/libvirt,trainstack/libvirt,cbosdo/libvirt,zippy2/libvirt,emaste/libvirt,nertpinx/libvirt,siboulet/libvirt-openvz,cbosdo/libvirt,zhlcindy/libvirt-1.1.4-maintain,bjzhang/libvirt,rlaager/libvirt,libvirt/libvirt,eskultety/libvirt,crobinso/libvirt,datto/libvirt,elmarco/libvirt,emaste/libvirt,jardasgit/libvirt,shugaoye/libvirt,zhlcindy/libvirt-1.1.4-maintain,dumbbell/libvirt,zippy2/libvirt,agx/libvirt,zhlcindy/libvirt-1.1.4-maintain,rmarwaha/libvirt1,VenkatDatta/libvirt,rlaager/libvirt,libvirt/libvirt,bjzhang/libvirt,jeckersb/libvirt,iam-TJ/libvirt,jeckersb/libvirt,elmarco/libvirt,novel/fbsd-libvirt,cbosdo/libvirt,iam-TJ/libvirt,cbosdo/libvirt,elmarco/libvirt,warewolf/libvirt,novel/fbsd-libvirt,iam-TJ/libvirt,libvirt/libvirt,jeckersb/libvirt,andreabolognani/libvirt,agx/libvirt,rmarwaha/libvirt1,datto/libvirt