[PATCH 2/3] vircgroupbackend: Extend error messages in VIR_CGROUP_BACKEND_CALL()

Michal Privoznik mprivozn at redhat.com
Mon Apr 19 07:20:17 UTC 2021


The VIR_CGROUP_BACKEND_CALL() macro gets a backend for controller
and calls corresponding callback in it. If either is NULL then an
error message is printed out. However, the error message contains
only the intended callback func and not controller or backend
found.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 src/util/vircgroupbackend.c | 1 -
 src/util/vircgroupbackend.h | 8 ++++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/util/vircgroupbackend.c b/src/util/vircgroupbackend.c
index 53184cd060..6d6f82cbb1 100644
--- a/src/util/vircgroupbackend.c
+++ b/src/util/vircgroupbackend.c
@@ -29,7 +29,6 @@
 
 #define VIR_FROM_THIS VIR_FROM_CGROUP
 
-VIR_ENUM_DECL(virCgroupBackend);
 VIR_ENUM_IMPL(virCgroupBackend,
               VIR_CGROUP_BACKEND_TYPE_LAST,
               "cgroup V2",
diff --git a/src/util/vircgroupbackend.h b/src/util/vircgroupbackend.h
index c7f5708b86..c4d56896b0 100644
--- a/src/util/vircgroupbackend.h
+++ b/src/util/vircgroupbackend.h
@@ -58,6 +58,8 @@ typedef enum {
     VIR_CGROUP_BACKEND_TYPE_LAST,
 } virCgroupBackendType;
 
+VIR_ENUM_DECL(virCgroupBackend);
+
 typedef bool
 (*virCgroupAvailableCB)(void);
 
@@ -464,12 +466,14 @@ virCgroupBackendForController(virCgroup *group,
         virCgroupBackend *backend = virCgroupBackendForController(group, controller); \
         if (!backend) { \
             virReportError(VIR_ERR_INTERNAL_ERROR, \
-                           _("failed to get cgroup backend for '%s'"), #func); \
+                           _("failed to get cgroup backend for '%s' controller '%u'"), \
+                           #func, controller); \
             return ret; \
         } \
         if (!backend->func) { \
             virReportError(VIR_ERR_OPERATION_UNSUPPORTED, \
-                           _("operation '%s' not supported"), #func); \
+                           _("operation '%s' not supported for backend '%s'"), \
+                           #func, virCgroupBackendTypeToString(backend->type)); \
             return ret; \
         } \
         return backend->func(group, ##__VA_ARGS__); \
-- 
2.26.3




More information about the libvir-list mailing list