[dm-devel] [PATCH 2/2] Fix compilation on older udev versions

Hannes Reinecke hare at suse.de
Thu Apr 19 12:03:47 UTC 2012


Older udev versions do not export 'udev_monitor_set_receive_buffer_size',
so we need to comment it out on those systems.

Signed-off-by: Hannes Reinecke <hare at suse.de>
---
 libmultipath/Makefile |    7 +++++++
 libmultipath/uevent.c |    2 ++
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/libmultipath/Makefile b/libmultipath/Makefile
index bacd89e..fd564cf 100644
--- a/libmultipath/Makefile
+++ b/libmultipath/Makefile
@@ -29,6 +29,13 @@ ifneq ($(strip $(LIBDM_API_COOKIE)),0)
 	CFLAGS += -DLIBDM_API_COOKIE
 endif
 
+LIBUDEV_API_RECVBUF = $(shell grep -Ecs '^[a-z]*[[:space:]]+udev_monitor_set_resolve_buffer_size' /usr/include/libudev.h)
+
+ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0)
+	CFLAGS += -DLIBUDEV_API_RECVBUF
+endif
+
+
 all: $(LIBS)
 
 $(LIBS): $(OBJS)
diff --git a/libmultipath/uevent.c b/libmultipath/uevent.c
index c1d45b0..11c650f 100644
--- a/libmultipath/uevent.c
+++ b/libmultipath/uevent.c
@@ -189,8 +189,10 @@ int uevent_listen(void)
 		condlog(2, "failed to create udev monitor");
 		goto out;
 	}
+#ifdef LIBUDEV_API_RECVBUF
 	if (udev_monitor_set_receive_buffer_size(monitor, 128 * 1024 * 1024))
 		condlog(2, "failed to increase buffer size");
+#endif
 	fd = udev_monitor_get_fd(monitor);
 	if (fd < 0) {
 		condlog(2, "failed to get monitor fd");
-- 
1.7.3.4




More information about the dm-devel mailing list