mirror of https://gitee.com/openkylin/libvirt.git
build: work with older RHEL 5 kernel
We already skip out on building the LXC under RHEL 5, because the kernel is too old (commits4c18acf
,2dee896
); but commit9612e4b
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.
This commit is contained in:
parent
8211c677a3
commit
77de1f3573
|
@ -874,6 +874,9 @@ if test "$with_lxc" = "yes" || test "$with_lxc" = "check"; then
|
|||
unshare (!(LO_FLAGS_AUTOCLEAR + EPOLL_CLOEXEC));
|
||||
], [
|
||||
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
|
||||
with_lxc=no
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
int fd = -1;
|
||||
|
|
Loading…
Reference in New Issue