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(a)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],