[libvirt] [PATCH] qemu: Report a more informative error for missing cgroup controllers
Daniel Veillard
veillard at redhat.com
Fri Feb 11 13:30:50 UTC 2011
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
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list