Files
mirror_zfs/config/kernel-setattr-prepare.m4
T

53 lines
1.5 KiB
Plaintext
Raw Normal View History

2019-10-01 12:50:34 -07:00
AC_DEFUN([ZFS_AC_KERNEL_SRC_SETATTR_PREPARE], [
2021-03-20 00:00:59 -04:00
dnl #
dnl # 4.9 API change
dnl # The inode_change_ok() function has been renamed setattr_prepare()
dnl # and updated to take a dentry rather than an inode.
dnl #
2019-10-01 12:50:34 -07:00
ZFS_LINUX_TEST_SRC([setattr_prepare], [
#include <linux/fs.h>
], [
struct dentry *dentry = NULL;
struct iattr *attr = NULL;
2019-10-01 12:50:34 -07:00
int error __attribute__ ((unused)) =
2021-03-20 00:00:59 -04:00
setattr_prepare(dentry, attr);
])
dnl #
dnl # 5.12 API change
dnl # The setattr_prepare() function has been changed to accept a new argument
dnl # for struct user_namespace*
dnl #
ZFS_LINUX_TEST_SRC([setattr_prepare_userns], [
#include <linux/fs.h>
], [
struct dentry *dentry = NULL;
struct iattr *attr = NULL;
struct user_namespace *userns = NULL;
int error __attribute__ ((unused)) =
setattr_prepare(userns, dentry, attr);
2019-10-01 12:50:34 -07:00
])
])
2019-10-01 12:50:34 -07:00
AC_DEFUN([ZFS_AC_KERNEL_SETATTR_PREPARE], [
2021-03-20 00:00:59 -04:00
AC_MSG_CHECKING([whether setattr_prepare() is available and accepts struct user_namespace*])
ZFS_LINUX_TEST_RESULT_SYMBOL([setattr_prepare_userns],
2019-10-01 12:50:34 -07:00
[setattr_prepare], [fs/attr.c], [
AC_MSG_RESULT(yes)
2021-03-20 00:00:59 -04:00
AC_DEFINE(HAVE_SETATTR_PREPARE_USERNS, 1,
[setattr_prepare() accepts user_namespace])
], [
AC_MSG_RESULT(no)
2021-03-20 00:00:59 -04:00
AC_MSG_CHECKING([whether setattr_prepare() is available, doesn't accept user_namespace])
ZFS_LINUX_TEST_RESULT_SYMBOL([setattr_prepare],
[setattr_prepare], [fs/attr.c], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SETATTR_PREPARE_NO_USERNS, 1,
[setattr_prepare() is available, doesn't accept user_namespace])
], [
AC_MSG_RESULT(no)
])
])
])