Martin Kletzander wrote: > On Fri, Jan 08, 2016 at 10:36:07PM +0300, Roman Bogorodskiy wrote: > >From: Jasper Lievisse Adriaanse <jasper@xxxxxxxxxxx> > > > >Include sys/param.h along with sys/mount.h to fix compilation on > >OpenBSD. > > > >Signed-off-by: Roman Bogorodskiy <bogorodskiy@xxxxxxxxx> > >--- > > src/util/vircgroup.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > >diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c > >index e39c4d1..e8e0875 100644 > >--- a/src/util/vircgroup.c > >+++ b/src/util/vircgroup.c > >@@ -27,7 +27,8 @@ > > #if defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R > > # include <mntent.h> > > #endif > >-#if defined HAVE_SYS_MOUNT_H > >+#if defined HAVE_SYS_PARAM_H && defined HAVE_SYS_MOUNT_H > >+# include <sys/param.h> > > # include <sys/mount.h> > > Wouldn't this cause an error for systems that have sys/mount.h and need > it for the mount() call, but don't have sys/param.h ? That's an interesting question. A check for sys/mount.h was added with the initial implementation of the mount() using code in commit 1da631e. The mount() call currently is used only on platforms with cgroups available (i.e. Linux). Moreover, HAVE_SYS_MOUNT_H does not play any role in cgroups detection: #if defined(__linux__) && defined(HAVE_GETMNTENT_R) && \ defined(_DIRENT_HAVE_D_TYPE) && defined(_SC_CLK_TCK) # define VIR_CGROUP_SUPPORTED #endif So, sys/mount.h and mount() are only needed on Linux anyway, and I'm wondering if we actually can just do something like this: #if defined HAVE_SYS_MOUNT_H && defined HAVE_GETMNTENT_R # include <sys/mount.h> #endif as if we don't have HAVE_GETMNTENT_R define, we will not have VIR_CGROUP_SUPPORTED, and therefore we'll not need the mount() call. I've tested it on FreeBSD and OpenBSD and it builds fine. Unfortunately, cannot test it on Linux at this moment. Roman Bogorodskiy -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list