mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-08 22:15:21 +00:00
vircgroupv1: fix build on non-linux OSes
Cgroups are linux specific and we need to make sure that the code is compiled only on linux. On different OSes it fails the compilation: ../../src/util/vircgroupv1.c:65:19: error: variable has incomplete type 'struct mntent' struct mntent entry; ^ ../../src/util/vircgroupv1.c:65:12: note: forward declaration of 'struct mntent' struct mntent entry; ^ ../../src/util/vircgroupv1.c:74:12: error: implicit declaration of function 'getmntent_r' is invalid in C99 [-Werror,-Wimplicit-function-declaration] while (getmntent_r(mounts, &entry, buf, sizeof(buf)) != NULL) { ^ ../../src/util/vircgroupv1.c:814:39: error: use of undeclared identifier 'MS_NOSUID' if (mount("tmpfs", root, "tmpfs", MS_NOSUID|MS_NODEV|MS_NOEXEC, opts) < 0) { ^ ../../src/util/vircgroupv1.c:814:49: error: use of undeclared identifier 'MS_NODEV' if (mount("tmpfs", root, "tmpfs", MS_NOSUID|MS_NODEV|MS_NOEXEC, opts) < 0) { ^ ../../src/util/vircgroupv1.c:814:58: error: use of undeclared identifier 'MS_NOEXEC' if (mount("tmpfs", root, "tmpfs", MS_NOSUID|MS_NODEV|MS_NOEXEC, opts) < 0) { ^ ../../src/util/vircgroupv1.c:841:65: error: use of undeclared identifier 'MS_BIND' if (mount(src, group->legacy[i].mountPoint, "none", MS_BIND, ^ Reviewed-by: Ján Tomko <jtomko@redhat.com> Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
parent
6ef37ed3b8
commit
0615c8436a
@ -20,13 +20,11 @@
|
|||||||
*/
|
*/
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#if defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R
|
#ifdef __linux__
|
||||||
# include <mntent.h>
|
# include <mntent.h>
|
||||||
#endif
|
|
||||||
# include <sys/stat.h>
|
# include <sys/stat.h>
|
||||||
#if defined HAVE_SYS_MOUNT_H
|
|
||||||
# include <sys/mount.h>
|
# include <sys/mount.h>
|
||||||
#endif
|
#endif /* __linux__ */
|
||||||
|
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
|
|
||||||
@ -55,6 +53,8 @@ VIR_ENUM_IMPL(virCgroupV1Controller, VIR_CGROUP_CONTROLLER_LAST,
|
|||||||
"name=systemd");
|
"name=systemd");
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
|
||||||
/* We're looking for at least one 'cgroup' fs mount,
|
/* We're looking for at least one 'cgroup' fs mount,
|
||||||
* which is *not* a named mount. */
|
* which is *not* a named mount. */
|
||||||
static bool
|
static bool
|
||||||
@ -2099,3 +2099,13 @@ virCgroupV1Register(void)
|
|||||||
{
|
{
|
||||||
virCgroupBackendRegister(&virCgroupV1Backend);
|
virCgroupBackendRegister(&virCgroupV1Backend);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else /* !__linux__ */
|
||||||
|
|
||||||
|
void
|
||||||
|
virCgroupV1Register(void)
|
||||||
|
{
|
||||||
|
VIR_INFO("Control groups not supported on this platform");
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* !__linux__ */
|
||||||
|
Loading…
Reference in New Issue
Block a user