Some older systems (such as RHEL6) lack SEEK_HOLE and SEEK_DATA which virFileInData relies on. Provide a stub for these systems. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> --- configure.ac | 5 +++++ src/util/virfile.c | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/configure.ac b/configure.ac index f20b9ea4d..2e6051354 100644 --- a/configure.ac +++ b/configure.ac @@ -352,6 +352,11 @@ AC_CHECK_DECLS([ETH_FLAG_TXVLAN, ETH_FLAG_NTUPLE, ETH_FLAG_RXHASH, ETH_FLAG_LRO, [], [], [[#include <linux/ethtool.h> ]]) +AC_CHECK_DECLS([SEEK_HOLE], [], [], + [#include <sys/types.h> + #include <unistd.h>]) + + dnl Our only use of libtasn1.h is in the testsuite, and can be skipped dnl if the header is not present. Assume -ltasn1 is present if the dnl header could be found. diff --git a/src/util/virfile.c b/src/util/virfile.c index 2f4bc42b6..b7645fbfc 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -3798,6 +3798,7 @@ virFileComparePaths(const char *p1, const char *p2) } +#if HAVE_DECL_SEEK_HOLE /** * virFileInData: * @fd: file to check @@ -3904,6 +3905,20 @@ virFileInData(int fd, return ret; } +#else /* !HAVE_DECL_SEEK_HOLE */ + +int +virFileInData(int fd ATTRIBUTE_UNUSED, + int *inData ATTRIBUTE_UNUSED, + long long *length ATTRIBUTE_UNUSED) +{ + virReportSystemError(ENOSYS, "%s", + _("sparse files not supported")); + return -1; +} + +#endif /* !HAVE_DECL_SEEK_HOLE */ + /** * virFileReadValueInt: -- 2.13.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list