mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 03:09:34 +03:00
Linux 4.18 compat: Use ktime_get_coarse_real_ts64()
Newer kernels remove current_kernel_time64(). Use ktime_get_coarse_real_ts64() in its place. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #8258
This commit is contained in:
parent
c853f382db
commit
5cb46f6a66
18
config/kernel-ktime_get_coarse_real_ts64.m4
Normal file
18
config/kernel-ktime_get_coarse_real_ts64.m4
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
dnl #
|
||||||
|
dnl # 4.18: ktime_get_coarse_real_ts64() added. Use it in place of
|
||||||
|
dnl # current_kernel_time64().
|
||||||
|
dnl #
|
||||||
|
AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64],
|
||||||
|
[AC_MSG_CHECKING([whether ktime_get_coarse_real_ts64() exists])
|
||||||
|
ZFS_LINUX_TRY_COMPILE([
|
||||||
|
#include <linux/mm.h>
|
||||||
|
], [
|
||||||
|
struct timespec64 ts;
|
||||||
|
ktime_get_coarse_real_ts64(&ts);
|
||||||
|
], [
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
AC_DEFINE(HAVE_KTIME_GET_COARSE_REAL_TS64, 1, [ktime_get_coarse_real_ts64() exists])
|
||||||
|
], [
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
])
|
||||||
|
])
|
@ -161,6 +161,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
|
|||||||
ZFS_AC_KERNEL_ACL_HAS_REFCOUNT
|
ZFS_AC_KERNEL_ACL_HAS_REFCOUNT
|
||||||
ZFS_AC_KERNEL_USERNS_CAPABILITIES
|
ZFS_AC_KERNEL_USERNS_CAPABILITIES
|
||||||
ZFS_AC_KERNEL_IN_COMPAT_SYSCALL
|
ZFS_AC_KERNEL_IN_COMPAT_SYSCALL
|
||||||
|
ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
|
||||||
|
|
||||||
AS_IF([test "$LINUX_OBJ" != "$LINUX"], [
|
AS_IF([test "$LINUX_OBJ" != "$LINUX"], [
|
||||||
KERNEL_MAKE="$KERNEL_MAKE O=$LINUX_OBJ"
|
KERNEL_MAKE="$KERNEL_MAKE O=$LINUX_OBJ"
|
||||||
|
@ -73,7 +73,13 @@ static inline void
|
|||||||
gethrestime(inode_timespec_t *ts)
|
gethrestime(inode_timespec_t *ts)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_INODE_TIMESPEC64_TIMES)
|
#if defined(HAVE_INODE_TIMESPEC64_TIMES)
|
||||||
|
|
||||||
|
#if defined(HAVE_KTIME_GET_COARSE_REAL_TS64)
|
||||||
|
ktime_get_coarse_real_ts64(ts);
|
||||||
|
#else
|
||||||
*ts = current_kernel_time64();
|
*ts = current_kernel_time64();
|
||||||
|
#endif /* HAVE_KTIME_GET_COARSE_REAL_TS64 */
|
||||||
|
|
||||||
#else
|
#else
|
||||||
*ts = current_kernel_time();
|
*ts = current_kernel_time();
|
||||||
#endif
|
#endif
|
||||||
@ -83,7 +89,13 @@ static inline time_t
|
|||||||
gethrestime_sec(void)
|
gethrestime_sec(void)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_INODE_TIMESPEC64_TIMES)
|
#if defined(HAVE_INODE_TIMESPEC64_TIMES)
|
||||||
|
#if defined(HAVE_KTIME_GET_COARSE_REAL_TS64)
|
||||||
|
inode_timespec_t ts;
|
||||||
|
ktime_get_coarse_real_ts64(&ts);
|
||||||
|
#else
|
||||||
inode_timespec_t ts = current_kernel_time64();
|
inode_timespec_t ts = current_kernel_time64();
|
||||||
|
#endif /* HAVE_KTIME_GET_COARSE_REAL_TS64 */
|
||||||
|
|
||||||
#else
|
#else
|
||||||
inode_timespec_t ts = current_kernel_time();
|
inode_timespec_t ts = current_kernel_time();
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user