[libvirt] [PATCH] vz: Fix error messages in libvirt log caused by unhadled events

Mikhail Feoktistov mfeoktistov at virtuozzo.com
Mon Jun 22 13:00:19 UTC 2015


22.06.2015 14:22, Maxim Nestratov пишет:
> 22.06.2015 14:15, Mikhail Feoktistov пишет:
>> We need to handle events with PIE_DISPATCHER type.
> Could you please shed some more light on why we need this. I guess it 
> fixes some problem, so more explanation could be useful.
If the configuration of the instance has been modified, for example 
added disk or network device, then hypervisor
sends event with prlIssuerType = PIE_DISPATCHER and EventType = 
PET_DSP_EVT_VM_CONFIG_CHANGED
We should handle this event in prlsdkHandleVmEvent function to update 
instance's XML config.

>> Do not write error messages to log in case of unhandled event types.
> Again, please explain why we shouldn't log them as errors if we return 
> them as failure.
prlsdkHandleVmEvent is a common handler and it recieves many events.
We handle only part of them. In case we don't handle event, we return 
error code to a caller function,
which should make a decision whether to write error message to log.
>> ---
>>   src/parallels/parallels_sdk.c |    4 ++--
>>   1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/parallels/parallels_sdk.c 
>> b/src/parallels/parallels_sdk.c
>> index 34605ea..d208c19 100644
>> --- a/src/parallels/parallels_sdk.c
>> +++ b/src/parallels/parallels_sdk.c
>> @@ -1685,8 +1685,7 @@ prlsdkHandleVmEvent(parallelsConnPtr privconn, 
>> PRL_HANDLE prlEvent)
>>               return prlsdkHandleVmRemovedEvent(privconn, uuid);
>>               break;
>>           default:
>> -            virReportError(VIR_ERR_INTERNAL_ERROR,
>> -                       _("Can't handle event of type %d"), 
>> prlEventType);
>> +            VIR_DEBUG("Skipping event type %d", prlEventType);
>>               return PRL_ERR_FAILURE;
>>       }
>>   @@ -1721,6 +1720,7 @@ prlsdkEventsHandler(PRL_HANDLE prlEvent, 
>> PRL_VOID_PTR opaque)
>>         switch (prlIssuerType) {
>>           case PIE_VIRTUAL_MACHINE:
>> +        case PIE_DISPATCHER:
>>               pret = prlsdkHandleVmEvent(privconn, prlEvent);
>>               break;
>>           default:
>




More information about the libvir-list mailing list