[lib] libdevmapper api check
authorMartin Petermann <martin@linux.vnet.ibm.com>
Wed, 15 Oct 2008 20:42:31 +0000 (22:42 +0200)
committerChristophe Varoqui <christophe.varoqui@free.fr>
Wed, 15 Oct 2008 20:42:31 +0000 (22:42 +0200)
In libmultipath Makefile it is checked if the
symbol dm_task_no_flush is defined within the device mapper
library. On my system beside the library there exists a
symbolic link within the same directory pointing to this
library and containing libdevmapper.so in it's name:

lrwxrwxrwx 1 root root    20 Sep 22 22:15 /lib64/libdevmapper.so -> libdevmapper.so.1.02
-rwxr-xr-x 1 root root 89928 Feb 14  2008 /lib64/libdevmapper.so.1.02

In this case "grep -c" returns a 2 instead of 1 that is assumed
in the Makefile. I changed this check to not equal zero.

libmultipath/Makefile

index 21fcd74..c70d429 100644 (file)
@@ -16,7 +16,7 @@ OBJS = memory.o parser.o vector.o devmapper.o callout.o \
 
 LIBDM_API_FLUSH = $(shell if test -d /lib64 ; then objdump -T /lib64/libdevmapper.so* ; else objdump -T /lib/libdevmapper.so.* ; fi | grep -c dm_task_no_flush)
 
-ifeq ($(strip $(LIBDM_API_FLUSH)),1)
+ifneq ($(strip $(LIBDM_API_FLUSH)),0)
        CFLAGS += -DLIBDM_API_FLUSH
 endif