CPPFLAGS="$CPPFLAGS $SANLOCK_CFLAGS"
LIBS="$LIBS $SANLOCK_LIBS"
- 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
-
AC_CHECK_LIB([sanlock_client], [sanlock_strerror],
[sanlock_strerror=yes], [sanlock_strerror=no])
if test "x$sanlock_strerror" = "xyes" ; then
{
int ret;
-#ifdef HAVE_SANLOCK_IO_TIMEOUT
const int max_hosts = 0; /* defaults used in sanlock_init() implementation */
const unsigned int lockspaceFlags = 0;
ret = sanlock_write_lockspace(ls, max_hosts, lockspaceFlags, driver->io_timeout);
-#else
- if (driver->io_timeout) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("unable to use io_timeout with this version of sanlock"));
- return -ENOTSUP;
- }
-
- ret = sanlock_init(ls, NULL, 0, 0);
-#endif
return ret;
}
* or we can fallback to polling.
*/
retry:
-#ifdef HAVE_SANLOCK_IO_TIMEOUT
rv = sanlock_add_lockspace_timeout(&ls, 0, driver->io_timeout);
-#else
- if (driver->io_timeout) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("unable to use io_timeout with this version of sanlock"));
- goto error;
- }
- rv = sanlock_add_lockspace(&ls, 0);
-#endif
if (rv < 0) {
if (-rv == EINPROGRESS && --retries) {
/* we have this function which blocks until lockspace change the