[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