3e5d41d807
Usage of this variable uninitialized triggers -Werror,-Wuninitialized when compiled under clang for linux kernel 5.6, leading the build system to believe that the function is not declared. This commit initializes the variable to suppress the warning and fix the build for kernel 5.6 with clang. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Hiếu Lê <leorize+oss@disroot.org> Closes #10279 Closes #10281
51 lines
1.1 KiB
Plaintext
51 lines
1.1 KiB
Plaintext
AC_DEFUN([ZFS_AC_KERNEL_SRC_INODE_TIMES], [
|
|
|
|
dnl #
|
|
dnl # 5.6 API change
|
|
dnl # timespec64_trunc() replaced by timestamp_truncate() interface.
|
|
dnl #
|
|
ZFS_LINUX_TEST_SRC([timestamp_truncate], [
|
|
#include <linux/fs.h>
|
|
],[
|
|
struct timespec64 ts;
|
|
struct inode ip;
|
|
|
|
memset(&ts, 0, sizeof(ts));
|
|
ts = timestamp_truncate(ts, &ip);
|
|
])
|
|
|
|
dnl #
|
|
dnl # 4.18 API change
|
|
dnl # i_atime, i_mtime, and i_ctime changed from timespec to timespec64.
|
|
dnl #
|
|
ZFS_LINUX_TEST_SRC([inode_times], [
|
|
#include <linux/fs.h>
|
|
],[
|
|
struct inode ip;
|
|
struct timespec ts;
|
|
|
|
memset(&ip, 0, sizeof(ip));
|
|
ts = ip.i_mtime;
|
|
])
|
|
])
|
|
|
|
AC_DEFUN([ZFS_AC_KERNEL_INODE_TIMES], [
|
|
AC_MSG_CHECKING([whether timestamp_truncate() exists])
|
|
ZFS_LINUX_TEST_RESULT([timestamp_truncate], [
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_INODE_TIMESTAMP_TRUNCATE, 1,
|
|
[timestamp_truncate() exists])
|
|
],[
|
|
AC_MSG_RESULT(no)
|
|
])
|
|
|
|
AC_MSG_CHECKING([whether inode->i_*time's are timespec64])
|
|
ZFS_LINUX_TEST_RESULT([inode_times], [
|
|
AC_MSG_RESULT(no)
|
|
],[
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_INODE_TIMESPEC64_TIMES, 1,
|
|
[inode->i_*time's are timespec64])
|
|
])
|
|
])
|