]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: Add interface for creating monitor group
authorWang Huaqiang <huaqiang.wang@intel.com>
Mon, 12 Nov 2018 13:31:39 +0000 (21:31 +0800)
committerJohn Ferlan <jferlan@redhat.com>
Wed, 14 Nov 2018 17:18:46 +0000 (12:18 -0500)
Add interface for creating the resource monitoring group according
to '@virResctrlMonitor->path'.

Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
src/libvirt_private.syms
src/util/virresctrl.c
src/util/virresctrl.h

index 925c97d578fd5ccc588fb9ac090fa8ce7fde1f70..85633bd116c863c505c57f830cfb187ec7201144 100644 (file)
@@ -2682,6 +2682,7 @@ virResctrlInfoGetMonitorPrefix;
 virResctrlInfoMonFree;
 virResctrlInfoNew;
 virResctrlMonitorAddPID;
+virResctrlMonitorCreate;
 virResctrlMonitorDeterminePath;
 virResctrlMonitorNew;
 
index 3036f9de04aadfff31e5daff232950b57c4188b5..3a8b6e2cf0071f3e24f5fd62abca70fa5b340275 100644 (file)
@@ -2546,3 +2546,27 @@ virResctrlMonitorAddPID(virResctrlMonitorPtr monitor,
 {
     return virResctrlAddPID(monitor->path, pid);
 }
+
+
+int
+virResctrlMonitorCreate(virResctrlMonitorPtr monitor,
+                        const char *machinename)
+{
+    int lockfd = -1;
+    int ret = -1;
+
+    if (!monitor)
+        return 0;
+
+    if (virResctrlMonitorDeterminePath(monitor, machinename) < 0)
+        return -1;
+
+    lockfd = virResctrlLockWrite();
+    if (lockfd < 0)
+        return -1;
+
+    ret = virResctrlCreateGroupPath(monitor->path);
+
+    virResctrlUnlock(lockfd);
+    return ret;
+}
index 52d283aac119902fdfbd664483828ce0a6339c91..76e40a243dec1b68d7dd61a4ad143fb93b32113e 100644 (file)
@@ -201,4 +201,8 @@ virResctrlMonitorDeterminePath(virResctrlMonitorPtr monitor,
 int
 virResctrlMonitorAddPID(virResctrlMonitorPtr monitor,
                         pid_t pid);
+
+int
+virResctrlMonitorCreate(virResctrlMonitorPtr monitor,
+                        const char *machinename);
 #endif /*  __VIR_RESCTRL_H__ */