LINUX: Include linux/time.h for linux/errqueue.h 50/13950/3
authorCheyenne Wills <cwills@sinenomine.net>
Wed, 20 Nov 2019 19:43:03 +0000 (12:43 -0700)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 13 Mar 2020 16:21:13 +0000 (12:21 -0400)
The configuration test for errqueue.h fails with an undefined structure
error on a Linux 3.17 (or higher) system.  This prevents setting
HAVE_LINUX_ERRQUEUE_H, which is used to define AFS_RXERRQ_ENV.

Linux commit f24b9be5957b38bb420b838115040dc2031b7d0c (net-timestamp:
extend SCM_TIMESTAMPING ancillary data struct) - which was picked up in
linux 3.17 added a structure that uses the timespec structure.  After
this commit, we need to include linux/time.h to pull in the definition
of the timespec struct.

Change-Id: Ifab79f8454c771276d5fdf443c4d68400b70134a
Reviewed-on: https://gerrit.openafs.org/13950
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

src/cf/headers.m4

index 913af44..af4a4dd 100644 (file)
@@ -88,7 +88,8 @@ AC_CHECK_HEADERS([security/pam_modules.h],[],[],[AC_INCLUDES_DEFAULT
 # include <security/pam_appl.h>
 #endif])
 
-AC_CHECK_HEADERS(linux/errqueue.h,,,[#include <linux/types.h>])
+AC_CHECK_HEADERS(linux/errqueue.h,,,[#include <linux/types.h>
+#include <linux/time.h>])
 
 AC_CHECK_TYPES([fsblkcnt_t],,,[
 #include <sys/types.h>