2011/2/11 Daniel Veillard <veillard(a)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(a)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