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