The code of adding PID to the allocation could be reused, refactor it
for later reuse.
Signed-off-by: Wang Huaqiang <huaqiang.wang(a)intel.com>
---
src/util/virresctrl.c | 30 +++++++++++++++++++-----------
1 file changed, 19 insertions(+), 11 deletions(-)
diff --git a/src/util/virresctrl.c b/src/util/virresctrl.c
index 1d0eb01..5fc8772 100644
--- a/src/util/virresctrl.c
+++ b/src/util/virresctrl.c
@@ -2390,26 +2390,21 @@ virResctrlAllocCreate(virResctrlInfoPtr resctrl,
}
-int
-virResctrlAllocAddPID(virResctrlAllocPtr alloc,
- pid_t pid)
+static int
+virResctrlAddPID(const char *path,
+ pid_t pid)
{
char *tasks = NULL;
char *pidstr = NULL;
int ret = 0;
- /* If the allocation is empty, then it is impossible to add a PID to
- * allocation due to lacking of its 'tasks' file. Just return */
- if (virResctrlAllocIsEmpty(alloc))
- return 0;
-
- if (!alloc->path) {
+ if (!path) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Cannot add pid to non-existing resctrl
allocation"));
+ _("Cannot add pid to non-existing resctrl group"));
return -1;
}
- if (virAsprintf(&tasks, "%s/tasks", alloc->path) < 0)
+ if (virAsprintf(&tasks, "%s/tasks", path) < 0)
return -1;
if (virAsprintf(&pidstr, "%lld", (long long int) pid) < 0)
@@ -2431,6 +2426,19 @@ virResctrlAllocAddPID(virResctrlAllocPtr alloc,
int
+virResctrlAllocAddPID(virResctrlAllocPtr alloc,
+ pid_t pid)
+{
+ /* If allocation is empty, then no resctrl directory and the 'tasks' file
+ * exists, just return */
+ if (virResctrlAllocIsEmpty(alloc))
+ return 0;
+
+ return virResctrlAddPID(alloc->path, pid);
+}
+
+
+int
virResctrlAllocRemove(virResctrlAllocPtr alloc)
{
int ret = 0;
--
2.7.4