m4: Check for sanlock_write_lockspace

Currently, we are checking for sanlock_add_lockspace_timeout
which is good for now. But in a subsequent patch we are going to
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@redhat.com>
This commit is contained in:
Michal Privoznik 2016-09-15 10:45:26 +02:00
parent 78da4296a6
commit 2bca7cec0b
2 changed files with 10 additions and 6 deletions

View File

@ -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"

View File

@ -311,7 +311,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) {