[libvirt] [PATCH v2 09/11] qemu: don't mess with non mandatory hostdevs on reattaching

Nikolay Shirokovskiy nshirokovskiy at virtuozzo.com
Mon Sep 16 10:20:58 UTC 2019



On 16.09.2019 12:09, Peter Krempa wrote:
> On Mon, Sep 16, 2019 at 08:58:10 +0000, Nikolay Shirokovskiy wrote:
>>
>>
>> On 16.09.2019 11:30, Peter Krempa wrote:
>>> On Mon, Sep 09, 2019 at 14:33:12 +0300, Nikolay Shirokovskiy wrote:
>>>> First I don't want to add code to handle dummy device that is used when
>>>> host usb device is not present at the moment of starting/migrating etc.
>>>> Second supporting non mandatory policies would require to handle races
>>>> when host usb device is plugged to host and libvirtd starts adding
>>>> device but if in the meanwhile host usb device it unplugged back then
>>>> current code will use dummy device which is not desired in this case.
>>>
>>> I don't think that handling startupPolicy for cases other than VM
>>> startup makes semantic sense. Could you elaborate what's the goal? I
>>> didn't quite get it from the commit message.
>>>
>>
>> We have different states for device that was missing on start
>> and device that was unplugged. In the former case we have stub
>> device in qemu (bus=0, device=0) while in the latter case we don't
>> have any correnspondent device in qemu. So I don't want add extra
>> logic to handle the first case on re-plug.
> 
> AFAIK a device whose startup policy allows it to be missing is removed
> fully from the (running) definition on VM startup if it was not present
> at that time.
> 
> If it is not like that it's probably a bug because having a device in
> the definition which is not recognized by the VM should not happen.
> 

It is definetly a designed behaviour as we even have 'missing' attribute for
source element for this case.

Nikolay




More information about the libvir-list mailing list