Re: [libvirt PATCH] vircgroup: fix build on non-linux systems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On a Tuesday in 2021, Pavel Hrdina wrote:
virCgroupGetInode needs to be in '#ifdef __linux__'.

Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
---
src/util/vircgroup.c | 70 ++++++++++++++++++++++++--------------------
1 file changed, 39 insertions(+), 31 deletions(-)

diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c
index 4c9445340e..dc040a4822 100644
--- a/src/util/vircgroup.c
+++ b/src/util/vircgroup.c
@@ -3005,6 +3005,37 @@ virCgroupControllerAvailable(int controller)
    return virCgroupHasController(cgroup, controller);
}

+
+/**
+ * virCgroupGetInode:
+ *
+ * @cgroup: the cgroup to get inode for
+ *
+ * Get the @cgroup inode and return its value to the caller.
+ *
+ * Returns inode on success, -1 on error with error message reported.
+ */
+int
+virCgroupGetInode(virCgroup *cgroup)
+{
+    struct stat st;
+    int controller = virCgroupGetAnyController(cgroup);
+    g_autofree char *path = NULL;
+
+    if (controller < 0)
+        return -1;
+
+    if (virCgroupPathOfController(cgroup, controller, "", &path) < 0)
+        return -1;
+
+    if (stat(path, &st) < 0) {
+        virReportSystemError(errno, _("failed to get stat for '%s'"), path);
+        return -1;
+    }
+
+    return st.st_ino;
+}
+
#else /* !__linux__ */

bool
@@ -3769,6 +3800,14 @@ virCgroupControllerAvailable(int controller G_GNUC_UNUSED)
{
    return false;
}
+
+int
+virCgroupGetInode(virCgroup *cgroup)

the parameter needs to be marked with G_GNUC_UNUSED

+{
+    virReportSystemError(ENOSYS, "%s",
+                         _("Control groups not supported on this platform"));
+    return -1;
+}
#endif /* !__linux__ */



Reviewed-by: Ján Tomko <jtomko@xxxxxxxxxx>

Jano

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux