[libvirt] [PATCH] qemu: Report a more informative error for missing cgroup controllers

Matthias Bolte matthias.bolte at googlemail.com
Sat Feb 12 12:59:21 UTC 2011


2011/2/11 Daniel Veillard <veillard at redhat.com>:
> On Fri, Feb 11, 2011 at 02:17:55PM +0100, Matthias Bolte wrote:
>> Patch attached.
>>
>> Matthias
>
>> From e50c5ed1fd2e1b1aabd0c10a6fba1af22e787ddf Mon Sep 17 00:00:00 2001
>> From: Matthias Bolte <matthias.bolte at googlemail.com>
>> Date: Fri, 11 Feb 2011 11:02:39 +0100
>> Subject: [PATCH] qemu: Report a more informative error for missing cgroup controllers
>>
>> Also use VIR_ERR_OPERATION_INVALID instead of VIR_ERR_NO_SUPPORT, as
>> the operation could succeed when the cgroup controller was mounted.
>> ---
>>  src/qemu/qemu_driver.c |   22 +++++++++++-----------
>>  1 files changed, 11 insertions(+), 11 deletions(-)
>>
>> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
>> index 21d7779..fa462f9 100644
>> --- a/src/qemu/qemu_driver.c
>> +++ b/src/qemu/qemu_driver.c
>> @@ -3962,7 +3962,7 @@ static int qemudDomainSetMemory(virDomainPtr dom, unsigned long newmem) {
>>
>>      /* Lack of balloon support is a fatal error */
>>      if (r == 0) {
>> -        qemuReportError(VIR_ERR_NO_SUPPORT,
>> +        qemuReportError(VIR_ERR_OPERATION_INVALID,
>>                          "%s", _("cannot set memory of an active domain"));
>>          goto endjob;
>>      }
>> @@ -6980,8 +6980,8 @@ static char *qemuGetSchedulerType(virDomainPtr dom,
>>
>>      qemuDriverLock(driver);
>>      if (!qemuCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_CPU)) {
>> -        qemuReportError(VIR_ERR_NO_SUPPORT,
>> -                        __FUNCTION__);
>> +        qemuReportError(VIR_ERR_OPERATION_INVALID,
>> +                        "%s", _("cgroup CPU controller is not mounted"));
>>          goto cleanup;
>>      }
>>
>> @@ -7011,8 +7011,8 @@ static int qemuDomainSetMemoryParameters(virDomainPtr dom,
>>
>>      qemuDriverLock(driver);
>>      if (!qemuCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_MEMORY)) {
>> -        qemuReportError(VIR_ERR_NO_SUPPORT,
>> -                        __FUNCTION__);
>> +        qemuReportError(VIR_ERR_OPERATION_INVALID,
>> +                        "%s", _("cgroup memory controller is not mounted"));
>>          goto cleanup;
>>      }
>>
>> @@ -7114,8 +7114,8 @@ static int qemuDomainGetMemoryParameters(virDomainPtr dom,
>>      qemuDriverLock(driver);
>>
>>      if (!qemuCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_MEMORY)) {
>> -        qemuReportError(VIR_ERR_NO_SUPPORT,
>> -                        __FUNCTION__);
>> +        qemuReportError(VIR_ERR_OPERATION_INVALID,
>> +                        "%s", _("cgroup memory controller is not mounted"));
>>          goto cleanup;
>>      }
>>
>> @@ -7227,8 +7227,8 @@ static int qemuSetSchedulerParameters(virDomainPtr dom,
>>
>>      qemuDriverLock(driver);
>>      if (!qemuCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_CPU)) {
>> -        qemuReportError(VIR_ERR_NO_SUPPORT,
>> -                        __FUNCTION__);
>> +        qemuReportError(VIR_ERR_OPERATION_INVALID,
>> +                        "%s", _("cgroup CPU controller is not mounted"));
>>          goto cleanup;
>>      }
>>
>> @@ -7292,8 +7292,8 @@ static int qemuGetSchedulerParameters(virDomainPtr dom,
>>
>>      qemuDriverLock(driver);
>>      if (!qemuCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_CPU)) {
>> -        qemuReportError(VIR_ERR_NO_SUPPORT,
>> -                        __FUNCTION__);
>> +        qemuReportError(VIR_ERR_OPERATION_INVALID,
>> +                        "%s", _("cgroup CPU controller is not mounted"));
>>          goto cleanup;
>>      }
>>
>
>  Looks fine to me, ACK
>
> Daniel
>

Thanks, pushed.

Matthias




More information about the libvir-list mailing list