From 9f9144a134bfcbfda697b98ffc5695d13d69a3d8 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke Date: Thu, 19 Apr 2012 14:03:47 +0200 Subject: [PATCH] Fix compilation on older udev versions 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 --- libmultipath/Makefile | 7 +++++++ libmultipath/uevent.c | 2 ++ 2 files changed, 9 insertions(+) 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 a29a43c..52b8aaf 100644 --- a/libmultipath/uevent.c +++ b/libmultipath/uevent.c @@ -399,8 +399,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"); -- 2.34.1