[libvirt] [PATCH 2/3] m4: Check for sanlock_write_lockspace

Michal Privoznik mprivozn at redhat.com
Thu Sep 15 14:35:54 UTC 2016


Currently, we are checking for sanlock_add_lockspace_timeout
which is good for now. But in the next patches we are gonna use
sanlock_write_lockspace (which sets an initial value for io
timeout for sanlock). Now, there is no reason to check for both
functions in sanlock library as the sanlock_write_lockspace was
introduced in 2.7 release and the one we are currently checking
for in the 2.5 release. Therefore it is safe to assume presence
of sanlock_add_lockspace_timeout when sanlock_write_lockspace is
detected.

Moreover, the macro for conditional compilation is renamed to
HAVE_SANLOCK_IO_TIMEOUT (as it now encapsulates two functions).

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 m4/virt-sanlock.m4                | 14 +++++++++-----
 src/locking/lock_driver_sanlock.c |  2 +-
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/m4/virt-sanlock.m4 b/m4/virt-sanlock.m4
index d2a607d..3c30cbf 100644
--- a/m4/virt-sanlock.m4
+++ b/m4/virt-sanlock.m4
@@ -46,11 +46,15 @@ AC_DEFUN([LIBVIRT_CHECK_SANLOCK],[
         [whether sanlock supports sanlock_inq_lockspace])
     fi
 
-    AC_CHECK_LIB([sanlock_client], [sanlock_add_lockspace_timeout],
-                 [sanlock_add_lockspace_timeout=yes], [sanlock_add_lockspace_timeout=no])
-    if test "x$sanlock_add_lockspace_timeout" = "xyes" ; then
-      AC_DEFINE_UNQUOTED([HAVE_SANLOCK_ADD_LOCKSPACE_TIMEOUT], 1,
-        [whether Sanlock supports sanlock_add_lockspace_timeout])
+    dnl Ideally, we would check for sanlock_add_lockspace_timeout here too, but
+    dnl sanlock_write_lockspace has been introduced 2 releases after
+    dnl sanlock_add_lockspace_timeout therefore if sanlock_write_lockspace is found
+    dnl it is safe to assume sanlock_add_lockspace_timeout is present too.
+    AC_CHECK_LIB([sanlock_client], [sanlock_write_lockspace],
+                 [sanlock_write_lockspace=yes], [sanlock_write_lockspace=no])
+    if test "x$sanlock_write_lockspace" = "xyes" ; then
+      AC_DEFINE_UNQUOTED([HAVE_SANLOCK_IO_TIMEOUT], 1,
+        [whether sanlock supports sanlock_write_lockspace])
     fi
 
     CPPFLAGS="$old_cppflags"
diff --git a/src/locking/lock_driver_sanlock.c b/src/locking/lock_driver_sanlock.c
index 1ff1abd..f09027f 100644
--- a/src/locking/lock_driver_sanlock.c
+++ b/src/locking/lock_driver_sanlock.c
@@ -310,7 +310,7 @@ virLockManagerSanlockSetupLockspace(virLockManagerSanlockDriverPtr driver)
      * or we can fallback to polling.
      */
  retry:
-#ifdef HAVE_SANLOCK_ADD_LOCKSPACE_TIMEOUT
+#ifdef HAVE_SANLOCK_IO_TIMEOUT
     rv = sanlock_add_lockspace_timeout(&ls, 0, driver->io_timeout);
 #else
     if (driver->io_timeout) {
-- 
2.8.4




More information about the libvir-list mailing list