On 07/25/2013 06:20 AM, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange(a)redhat.com>
Instead of requiring drivers to use a combination of calls
to virCgroupNewDetect and virCgroupIsValidMachine, combine
the two into virCgroupNewDetectMachine
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/libvirt_private.syms | 1 +
src/lxc/lxc_process.c | 20 ++++++++------------
src/qemu/qemu_cgroup.c | 16 ++++------------
src/util/vircgroup.c | 22 ++++++++++++++++++++++
src/util/vircgroup.h | 5 +++++
5 files changed, 40 insertions(+), 24 deletions(-)
@@ -1575,6 +1575,28 @@ int virCgroupNewDetect(pid_t pid
ATTRIBUTE_UNUSED,
}
#endif
+/*
+ * Returns 0 on success, -1 on fatal error, -2 on no valid cgroup
+ */
+int virCgroupNewDetectMachine(const char *name,
+ const char *drivername,
+ pid_t pid,
+ virCgroupPtr *group)
+{
+ if (virCgroupNewDetect(pid, group) < 0) {
+ if (virCgroupNewIgnoreError())
+ return 0;
+ return -1;
+ }
+
+ if (!virCgroupIsValidMachineGroup(*group, name, drivername)) {
+ virCgroupFree(group);
+ return 0;
Huh? This says you are returning success. Also, none of the lxc or qemu
callers checked for a -2 return; do you really need the differentiated
return type?
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org