提交 5ce6d95e 编写于 作者: J Jiri Denemark

locking: Fix build with sanlock < 2.4

libvirt started using sanlock_killpath to implement on_lockfailure
action. Since sanlock_killpath was introduced in sanlock 2.4, libvirt
fails to build with older sanlock.
上级 7bd744c4
......@@ -1216,6 +1216,13 @@ if test "x$with_sanlock" != "xno"; then
if test "x$with_sanlock" = "xyes" ; then
AC_DEFINE_UNQUOTED([HAVE_SANLOCK], 1,
[whether Sanlock plugin for lock management is available])
AC_CHECK_LIB([sanlock_client], [sanlock_killpath],
[sanlock_killpath=yes], [sanlock_killpath=no])
if test "x$sanlock_killpath" = "xyes" ; then
AC_DEFINE_UNQUOTED([HAVE_SANLOCK_KILLPATH], 1,
[whether Sanlock supports sanlock_killpath])
fi
fi
fi
AM_CONDITIONAL([HAVE_SANLOCK], [test "x$with_sanlock" = "xyes"])
......
......@@ -687,6 +687,7 @@ static int virLockManagerSanlockAddResource(virLockManagerPtr lock,
return 0;
}
#if HAVE_SANLOCK_KILLPATH
static int
virLockManagerSanlockRegisterKillscript(int sock,
const char *vmuri,
......@@ -762,6 +763,18 @@ cleanup:
VIR_FREE(args);
return ret;
}
#else
static int
virLockManagerSanlockRegisterKillscript(int sock ATTRIBUTE_UNUSED,
const char *vmuri ATTRIBUTE_UNUSED,
const char *uuidstr ATTRIBUTE_UNUSED,
virDomainLockFailureAction action ATTRIBUTE_UNUSED)
{
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("sanlock is too old to support lock failure action"));
return -1;
}
#endif
static int virLockManagerSanlockAcquire(virLockManagerPtr lock,
const char *state,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册