Skip to content

Commit

Permalink
linux 6.7 compat: simplify current_time() check
Browse files Browse the repository at this point in the history
6.7 changed the names of the time members in struct inode, so we can't
assign back to it because we don't know its name. In practice this
doesn't matter though - if we're missing current_time(), then we must be
on <4.9, and we know our fallback will need to return timespec.

Signed-off-by: Rob Norris <[email protected]>
Sponsored-by: https://github.com/sponsors/robn
  • Loading branch information
robn authored and behlendorf committed Dec 21, 2023
1 parent 494aaae commit b3626f0
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion config/kernel-current-time.m4
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@ dnl #
dnl # 4.9, current_time() added
dnl # 4.18, return type changed from timespec to timespec64
dnl #
dnl # Note that we don't care about the return type in this check. If we have
dnl # to implement a fallback, we'll know we're <4.9, which was timespec.
dnl #
AC_DEFUN([ZFS_AC_KERNEL_SRC_CURRENT_TIME], [
ZFS_LINUX_TEST_SRC([current_time], [
#include <linux/fs.h>
], [
struct inode ip __attribute__ ((unused));
ip.i_atime = current_time(&ip);
(void) current_time(&ip);
])
])

Expand Down

0 comments on commit b3626f0

Please sign in to comment.