summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2014-12-15 15:32:13 +0000
committerEric Blake <eblake@redhat.com>2015-12-15 16:58:23 -0700
commite3b43a952a6761526f429916e9c399b0e8ce0671 (patch)
tree1cf7dfeb8a168ea99b26c08653d17bfb0919813b
parentdab6bd975e18b5ca23704fa39c0595f193fa2d8a (diff)
downloadlibvirt-e3b43a952a6761526f429916e9c399b0e8ce0671.tar.gz
avoid using deprecated udev logging functions
In systemd >= 218, the udev_set_log_fn method has been marked deprecated and turned into a no-op. Nothing in the udev client library will print to stderr by default anymore, so we can just stop installing a logging hook for new enough udev. (cherry picked from commit a93a3b975cd0bad37ccae508d9b7a69aa72b6181)
-rw-r--r--m4/virt-udev.m47
-rw-r--r--src/node_device/node_device_udev.c5
2 files changed, 11 insertions, 1 deletions
diff --git a/m4/virt-udev.m4 b/m4/virt-udev.m4
index 55673bf207..29ab30a5e8 100644
--- a/m4/virt-udev.m4
+++ b/m4/virt-udev.m4
@@ -24,6 +24,13 @@ AC_DEFUN([LIBVIRT_CHECK_UDEV],[
if test "$with_udev" = "yes" && test "$with_pciaccess" != "yes" ; then
AC_MSG_ERROR([You must install the pciaccess module to build with udev])
fi
+
+ if test "$with_udev" = "yes" ; then
+ PKG_CHECK_EXISTS([libudev >= 218], [with_udev_logging=no], [with_udev_logging=yes])
+ if test "$with_udev_logging" = "yes" ; then
+ AC_DEFINE_UNQUOTED([HAVE_UDEV_LOGGING], 1, [whether libudev logging can be used])
+ fi
+ fi
])
AC_DEFUN([LIBVIRT_RESULT_UDEV],[
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 0fe474d4e3..56e7b964bd 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -347,7 +347,7 @@ static int udevGenerateDeviceName(struct udev_device *device,
return ret;
}
-
+#if HAVE_UDEV_LOGGING
typedef void (*udevLogFunctionPtr)(struct udev *udev,
int priority,
const char *file,
@@ -380,6 +380,7 @@ udevLogFunction(struct udev *udev ATTRIBUTE_UNUSED,
VIR_FREE(format);
}
+#endif
static int udevTranslatePCIIds(unsigned int vendor,
@@ -1770,8 +1771,10 @@ static int nodeStateInitialize(bool privileged,
* its return value.
*/
udev = udev_new();
+#if HAVE_UDEV_LOGGING
/* cast to get rid of missing-format-attribute warning */
udev_set_log_fn(udev, (udevLogFunctionPtr) udevLogFunction);
+#endif
priv->udev_monitor = udev_monitor_new_from_netlink(udev, "udev");
if (priv->udev_monitor == NULL) {