提交 77de1f35 编写于 作者: E Eric Blake

build: work with older RHEL 5 kernel

We already skip out on building the LXC under RHEL 5, because the
kernel is too old (commits 4c18acff, 2dee8965); but commit 9612e4b2
moved some LXC-only code into common files, resulting in this
build failure:

util/virfile.c: In function 'virFileLoopDeviceAssociate':
util/virfile.c:580: error: 'LO_FLAGS_AUTOCLEAR' undeclared (first use in this function)

Unfortunately, the kernel folks only made it an enum, rather than
also a #define, so we have to modify configure.ac to record when
it is usable.

* configure.ac (with_lxc): Mark when LO_FLAGS_AUTOCLEAR was found.
* src/util/virfile.c (virFileLoopDeviceAssociate): Avoid
compilation when kernel is too old.
上级 8211c677
...@@ -874,6 +874,9 @@ if test "$with_lxc" = "yes" || test "$with_lxc" = "check"; then ...@@ -874,6 +874,9 @@ if test "$with_lxc" = "yes" || test "$with_lxc" = "check"; then
unshare (!(LO_FLAGS_AUTOCLEAR + EPOLL_CLOEXEC)); unshare (!(LO_FLAGS_AUTOCLEAR + EPOLL_CLOEXEC));
], [ ], [
with_lxc=yes with_lxc=yes
AC_DEFINE([HAVE_DECL_LO_FLAGS_AUTOCLEAR], [1],
[Define to 1 if you have the declaration of `LO_FLAGS_AUTOCLEAR',
and to 0 if you don't.])
], [ ], [
if test "$with_lxc" = "check"; then if test "$with_lxc" = "check"; then
with_lxc=no with_lxc=no
......
...@@ -497,7 +497,7 @@ int virFileUpdatePerm(const char *path, ...@@ -497,7 +497,7 @@ int virFileUpdatePerm(const char *path,
} }
#ifdef __linux__ #if defined(__linux__) && HAVE_DECL_LO_FLAGS_AUTOCLEAR
static int virFileLoopDeviceOpen(char **dev_name) static int virFileLoopDeviceOpen(char **dev_name)
{ {
int fd = -1; int fd = -1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册