[libvirt] [PATCH] qemu: Don't delete USB device on failed qemuPrepareHostdevUSBDevices

Michal Privoznik mprivozn at redhat.com
Thu May 17 15:19:42 UTC 2012


On 17.05.2012 16:10, Guannan Ren wrote:
> On 05/17/2012 08:34 PM, Michal Privoznik wrote:
>> If qemuPrepareHostdevUSBDevices fail it will roll back devices added
>> to the driver list of used devices. However, if it may fail because
>> the device is being used already. But then again - with roll back.
>> Therefore don't try to remove a usb device manually if the function
>> fail. Although, we want to remove the device if any operation
>> performed afterwards fail.
>> ---
>>   src/qemu/qemu_hotplug.c |    4 +++-
>>   1 files changed, 3 insertions(+), 1 deletions(-)
>>
>> diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
>> index 9b60816..dfca7e2 100644
>> --- a/src/qemu/qemu_hotplug.c
>> +++ b/src/qemu/qemu_hotplug.c
>> @@ -1173,8 +1173,10 @@ int qemuDomainAttachHostDevice(struct
>> qemud_driver *driver,
>>               goto cleanup;
>>           }
>>
>> -        if (qemuPrepareHostdevUSBDevices(driver, vm->def->name,
>> list)<  0)
>> +        if (qemuPrepareHostdevUSBDevices(driver, vm->def->name,
>> list)<  0) {
>> +            usb = NULL;
>>               goto cleanup;
>> +        }
>>
>>           usbDeviceListSteal(list, usb);
>>       }
> 
>    I wrote the original code, so I give my ACK here.
> 
>    Guannan Ren
> 

Thanks, pushed.

Michal




More information about the libvir-list mailing list