[libvirt] [PATCH] cygwin: Check explicitly for getmntent_r

Matthias Bolte matthias.bolte at googlemail.com
Fri Apr 23 16:57:23 UTC 2010


Cygwin has mntent.h but lacks getmntent_r. Update preprocessor
checks to catch this combination.
---
 src/qemu/qemu_conf.c |    2 +-
 src/util/cgroup.c    |   10 +++++-----
 src/util/util.c      |    8 ++++----
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 2cbcc4f..ed24916 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -114,7 +114,7 @@ int qemudLoadDriverConfig(struct qemud_driver *driver,
         return -1;
     }
 
-#ifdef HAVE_MNTENT_H
+#if defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R
     /* For privileged driver, try and find hugepage mount automatically.
      * Non-privileged driver requires admin to create a dir for the
      * user, chown it, and then let user configure it manually */
diff --git a/src/util/cgroup.c b/src/util/cgroup.c
index 4cb09b6..b649c3c 100644
--- a/src/util/cgroup.c
+++ b/src/util/cgroup.c
@@ -12,7 +12,7 @@
 
 #include <stdio.h>
 #include <stdint.h>
-#ifdef HAVE_MNTENT_H
+#if defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R
 # include <mntent.h>
 #endif
 #include <fcntl.h>
@@ -69,7 +69,7 @@ void virCgroupFree(virCgroupPtr *group)
     VIR_FREE(*group);
 }
 
-#ifdef HAVE_MNTENT_H
+#if defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R
 /*
  * Process /proc/mounts figuring out what controllers are
  * mounted and where
@@ -403,7 +403,7 @@ out:
 }
 
 
-#ifdef HAVE_MNTENT_H
+#if defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R
 static int virCgroupCpuSetInherit(virCgroupPtr parent, virCgroupPtr group)
 {
     int i;
@@ -628,7 +628,7 @@ int virCgroupAddTask(virCgroupPtr group, pid_t pid)
  *
  * Returns 0 on success
  */
-#ifdef HAVE_MNTENT_H
+#if defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R
 int virCgroupForDriver(const char *name,
                        virCgroupPtr *group,
                        int privileged,
@@ -682,7 +682,7 @@ int virCgroupForDriver(const char *name ATTRIBUTE_UNUSED,
  *
  * Returns 0 on success
  */
-#ifdef HAVE_MNTENT_H
+#if defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R
 int virCgroupForDomain(virCgroupPtr driver,
                        const char *name,
                        virCgroupPtr *group,
diff --git a/src/util/util.c b/src/util/util.c
index 99383d1..a7bb67c 100644
--- a/src/util/util.c
+++ b/src/util/util.c
@@ -61,7 +61,7 @@
 #if HAVE_CAPNG
 # include <cap-ng.h>
 #endif
-#ifdef HAVE_MNTENT_H
+#if defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R
 # include <mntent.h>
 #endif
 
@@ -2716,7 +2716,7 @@ int virGetGroupID(const char *name ATTRIBUTE_UNUSED,
 #endif /* HAVE_GETPWUID_R */
 
 
-#ifdef HAVE_MNTENT_H
+#if defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R
 /* search /proc/mounts for mount point of *type; return pointer to
  * malloc'ed string of the path if found, otherwise return NULL
  * with errno set to an appropriate value.
@@ -2748,7 +2748,7 @@ cleanup:
     return ret;
 }
 
-#else /* HAVE_MNTENT_H */
+#else /* defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R */
 
 char *
 virFileFindMountPoint(const char *type ATTRIBUTE_UNUSED)
@@ -2758,7 +2758,7 @@ virFileFindMountPoint(const char *type ATTRIBUTE_UNUSED)
     return NULL;
 }
 
-#endif /* HAVE_MNTENT_H */
+#endif /* defined HAVE_MNTENT_H && defined HAVE_GETMNTENT_R */
 
 #ifndef PROXY
 # if defined(UDEVADM) || defined(UDEVSETTLE)
-- 
1.6.3.3




More information about the libvir-list mailing list