On 08/29/2012 02:56 AM, Alex Jia wrote:
On 08/29/2012 02:12 PM, Guannan Ren wrote:
> On 08/28/2012 11:38 AM, Alex Jia wrote:
>> From: Alex Jia <Alex Jia ajia(a)redhat.com>
>>
>> The default flags are inconsistent on both qemuSetSchedulerParameters()
>> and qemuGetSchedulerParameters() in libvirt, the
>> qemuGetSchedulerParameters()
>> always passes 'VIR_DOMAIN_AFFECT_CURRENT' flag to the
>> qemuGetSchedulerParametersFlags(),
>> it should be a expected behavior, but the
>> qemuSetSchedulerParameters() always passes
>> 'VIR_DOMAIN_AFFECT_LIVE' flag to the
>> qemuSetSchedulerParametersFlags(), if users use
>> default flag=0 or explicitly give a 'VIR_DOMAIN_AFFECT_CURRENT' flag
>> to the
>> set_scheduler_parameters() in perl-Sys-Virt, because the flag value
>> is 0, the result is
>> the virDomainSetSchedulerParameters() is called incorrectly.
>
>> +++ b/Virt.xs
>> @@ -2833,7 +2833,7 @@ set_scheduler_parameters(dom, newparams, flags=0)
>
> How about setting flags = -1 as default value.
> set_scheduler_parameters(dom, newparams, flags=-1)
> int flags;
I don't want to change many codes, so just change condition judgement in
here, in fact, it's
enough to call virDomainSetSchedulerParametersFlags() regardless of
what flag is like 'virsh schedinfo',
hence, I trend to remove virDomainSetSchedulerParameters() relevant branch.
That's not quite correct - remember,
virDomainSetSchedulerParametersFlags() is a newer function, and when
talking to older libvirtd, it did not work when the older function
virDomainSetSchedulerParameters() will work. Thus, if flags is 0, you
should call the older function, for a better chance of working across
more setups.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org