]>
Commit | Line | Data |
---|---|---|
608f8749 | 1 | AC_DEFUN([ZFS_AC_KERNEL_SRC_SETATTR_PREPARE], [ |
e2a82961 CK |
2 | dnl # |
3 | dnl # 4.9 API change | |
4 | dnl # The inode_change_ok() function has been renamed setattr_prepare() | |
5 | dnl # and updated to take a dentry rather than an inode. | |
6 | dnl # | |
608f8749 | 7 | ZFS_LINUX_TEST_SRC([setattr_prepare], [ |
3b0ba3ba BB |
8 | #include <linux/fs.h> |
9 | ], [ | |
10 | struct dentry *dentry = NULL; | |
11 | struct iattr *attr = NULL; | |
608f8749 | 12 | int error __attribute__ ((unused)) = |
e2a82961 CK |
13 | setattr_prepare(dentry, attr); |
14 | ]) | |
15 | ||
16 | dnl # | |
17 | dnl # 5.12 API change | |
18 | dnl # The setattr_prepare() function has been changed to accept a new argument | |
19 | dnl # for struct user_namespace* | |
20 | dnl # | |
21 | ZFS_LINUX_TEST_SRC([setattr_prepare_userns], [ | |
22 | #include <linux/fs.h> | |
23 | ], [ | |
24 | struct dentry *dentry = NULL; | |
25 | struct iattr *attr = NULL; | |
26 | struct user_namespace *userns = NULL; | |
27 | int error __attribute__ ((unused)) = | |
28 | setattr_prepare(userns, dentry, attr); | |
608f8749 BB |
29 | ]) |
30 | ]) | |
3b0ba3ba | 31 | |
608f8749 | 32 | AC_DEFUN([ZFS_AC_KERNEL_SETATTR_PREPARE], [ |
e2a82961 CK |
33 | AC_MSG_CHECKING([whether setattr_prepare() is available and accepts struct user_namespace*]) |
34 | ZFS_LINUX_TEST_RESULT_SYMBOL([setattr_prepare_userns], | |
608f8749 | 35 | [setattr_prepare], [fs/attr.c], [ |
3b0ba3ba | 36 | AC_MSG_RESULT(yes) |
e2a82961 CK |
37 | AC_DEFINE(HAVE_SETATTR_PREPARE_USERNS, 1, |
38 | [setattr_prepare() accepts user_namespace]) | |
3b0ba3ba BB |
39 | ], [ |
40 | AC_MSG_RESULT(no) | |
e2a82961 CK |
41 | |
42 | AC_MSG_CHECKING([whether setattr_prepare() is available, doesn't accept user_namespace]) | |
43 | ZFS_LINUX_TEST_RESULT_SYMBOL([setattr_prepare], | |
44 | [setattr_prepare], [fs/attr.c], [ | |
45 | AC_MSG_RESULT(yes) | |
46 | AC_DEFINE(HAVE_SETATTR_PREPARE_NO_USERNS, 1, | |
47 | [setattr_prepare() is available, doesn't accept user_namespace]) | |
48 | ], [ | |
49 | AC_MSG_RESULT(no) | |
50 | ]) | |
3b0ba3ba BB |
51 | ]) |
52 | ]) |