[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