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

Re: [libvirt] [PATCH 2/2]: Call udevsettle in the appropriate places



Daniel P. Berrange wrote:
> This seems rather overkill when you could just do
> 
> #if defined(UDEVADM) || defined(UDEVSETTLE)
> void virStorageBackendWaitForDevices(virConnectPtr conn)
> {
> #ifdef UDEVADM
>     const char *const settleprog[] = { UDEVADM, "settle", NULL };
> #else
>     const char *const settleprog[] = { UDEVSETTLE, NULL };
> #endif
>     int exitstatus;

OK, updated patch attached that basically does the above, and adds the
configure.in test.

Signed-off-by: Chris Lalancette <clalance redhat com>
Index: src/storage_backend.c
===================================================================
RCS file: /data/cvs/libvirt/src/storage_backend.c,v
retrieving revision 1.31
diff -u -r1.31 storage_backend.c
--- a/src/storage_backend.c	28 Nov 2008 07:50:20 -0000	1.31
+++ b/src/storage_backend.c	1 Dec 2008 11:47:16 -0000
@@ -270,13 +270,17 @@
     return 0;
 }
 
-#ifdef UDEVADM
+#if defined(UDEVADM) || defined(UDEVSETTLE)
 void virStorageBackendWaitForDevices(virConnectPtr conn)
 {
+#ifdef UDEVADM
     const char *const settleprog[] = { UDEVADM, "settle", NULL };
+#else
+    const char *const settleprog[] = { UDEVSETTLE, NULL };
+#endif
     int exitstatus;
 
-    if (access(UDEVADM, X_OK) != 0)
+    if (access(settleprog[0], X_OK) != 0)
         return;
 
     /*
Index: configure.in
===================================================================
RCS file: /data/cvs/libvirt/configure.in,v
retrieving revision 1.188
diff -u -r1.188 configure.in
--- a/configure.in	28 Nov 2008 07:50:20 -0000	1.188
+++ b/configure.in	1 Dec 2008 11:47:16 -0000
@@ -117,6 +117,8 @@
 	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
 AC_PATH_PROG([UDEVADM], [udevadm], [],
 	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
+AC_PATH_PROG([UDEVSETTLE], [udevsettle], [],
+	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
 
 AC_DEFINE_UNQUOTED([DNSMASQ],["$DNSMASQ"],
         [Location or name of the dnsmasq program])
@@ -126,6 +128,10 @@
   AC_DEFINE_UNQUOTED([UDEVADM],["$UDEVADM"],
         [Location or name of the udevadm program])
 fi
+if test -n "$UDEVSETTLE"; then
+  AC_DEFINE_UNQUOTED([UDEVSETTLE],["$UDEVSETTLE"],
+        [Location or name of the udevsettle program])
+fi
 
 dnl Specific dir for HTML output ?
 AC_ARG_WITH([html-dir], [AC_HELP_STRING([--with-html-dir=path],

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