]>
Commit | Line | Data |
---|---|---|
608f8749 | 1 | AC_DEFUN([ZFS_AC_KERNEL_SRC_INODE_TIMES], [ |
795699a6 BB |
2 | |
3 | dnl # | |
4 | dnl # 5.6 API change | |
5 | dnl # timespec64_trunc() replaced by timestamp_truncate() interface. | |
6 | dnl # | |
7 | ZFS_LINUX_TEST_SRC([timestamp_truncate], [ | |
8 | #include <linux/fs.h> | |
9 | ],[ | |
10 | struct timespec64 ts; | |
11 | struct inode ip; | |
12 | ||
3e5d41d8 | 13 | memset(&ts, 0, sizeof(ts)); |
795699a6 BB |
14 | ts = timestamp_truncate(ts, &ip); |
15 | ]) | |
16 | ||
17 | dnl # | |
18 | dnl # 4.18 API change | |
19 | dnl # i_atime, i_mtime, and i_ctime changed from timespec to timespec64. | |
20 | dnl # | |
608f8749 | 21 | ZFS_LINUX_TEST_SRC([inode_times], [ |
6413c95f BB |
22 | #include <linux/fs.h> |
23 | ],[ | |
24 | struct inode ip; | |
25 | struct timespec ts; | |
26 | ||
27 | memset(&ip, 0, sizeof(ip)); | |
28 | ts = ip.i_mtime; | |
608f8749 | 29 | ]) |
b37f2934 CK |
30 | |
31 | dnl # | |
32 | dnl # 6.6 API change | |
33 | dnl # i_ctime no longer directly accessible, must use | |
34 | dnl # inode_get_ctime(ip), inode_set_ctime*(ip) to | |
35 | dnl # read/write. | |
36 | dnl # | |
37 | ZFS_LINUX_TEST_SRC([inode_get_ctime], [ | |
38 | #include <linux/fs.h> | |
39 | ],[ | |
40 | struct inode ip; | |
41 | ||
42 | memset(&ip, 0, sizeof(ip)); | |
43 | inode_get_ctime(&ip); | |
44 | ]) | |
45 | ||
46 | ZFS_LINUX_TEST_SRC([inode_set_ctime_to_ts], [ | |
47 | #include <linux/fs.h> | |
48 | ],[ | |
49 | struct inode ip; | |
50 | struct timespec64 ts; | |
51 | ||
52 | memset(&ip, 0, sizeof(ip)); | |
53 | inode_set_ctime_to_ts(&ip, ts); | |
54 | ]) | |
608f8749 BB |
55 | ]) |
56 | ||
57 | AC_DEFUN([ZFS_AC_KERNEL_INODE_TIMES], [ | |
795699a6 BB |
58 | AC_MSG_CHECKING([whether timestamp_truncate() exists]) |
59 | ZFS_LINUX_TEST_RESULT([timestamp_truncate], [ | |
60 | AC_MSG_RESULT(yes) | |
61 | AC_DEFINE(HAVE_INODE_TIMESTAMP_TRUNCATE, 1, | |
62 | [timestamp_truncate() exists]) | |
63 | ],[ | |
64 | AC_MSG_RESULT(no) | |
65 | ]) | |
66 | ||
608f8749 BB |
67 | AC_MSG_CHECKING([whether inode->i_*time's are timespec64]) |
68 | ZFS_LINUX_TEST_RESULT([inode_times], [ | |
6413c95f BB |
69 | AC_MSG_RESULT(no) |
70 | ],[ | |
71 | AC_MSG_RESULT(yes) | |
72 | AC_DEFINE(HAVE_INODE_TIMESPEC64_TIMES, 1, | |
73 | [inode->i_*time's are timespec64]) | |
74 | ]) | |
b37f2934 CK |
75 | |
76 | AC_MSG_CHECKING([whether inode_get_ctime() exists]) | |
77 | ZFS_LINUX_TEST_RESULT([inode_get_ctime], [ | |
78 | AC_MSG_RESULT(yes) | |
79 | AC_DEFINE(HAVE_INODE_GET_CTIME, 1, | |
80 | [inode_get_ctime() exists in linux/fs.h]) | |
81 | ],[ | |
82 | AC_MSG_RESULT(no) | |
83 | ]) | |
84 | ||
85 | AC_MSG_CHECKING([whether inode_set_ctime_to_ts() exists]) | |
86 | ZFS_LINUX_TEST_RESULT([inode_set_ctime_to_ts], [ | |
87 | AC_MSG_RESULT(yes) | |
88 | AC_DEFINE(HAVE_INODE_SET_CTIME_TO_TS, 1, | |
89 | [inode_set_ctime_to_ts() exists in linux/fs.h]) | |
90 | ],[ | |
91 | AC_MSG_RESULT(no) | |
92 | ]) | |
6413c95f | 93 | ]) |