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(a)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