Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux: bump minimum kernel version to 4.4 #16434

Closed
wants to merge 46 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
cefcc78
META: set Linux minimum version to 4.4
robn Aug 2, 2024
eb9548f
config: remove checks with unused defines
robn Aug 3, 2024
72e6144
config: remove no-op tests
robn Aug 4, 2024
ebf92de
config: remove HAVE_1ARG_BIO_END_IO_T
robn Aug 3, 2024
c50b559
config: remove HAVE_BIO_BVEC_ITER
robn Aug 3, 2024
3eb16e1
config: remove HAVE_CLEAR_INODE and HAVE_EVICT_INODE
robn Aug 3, 2024
f796dcb
config: remove HAVE_DENTRY_D_U_ALIASES
robn Aug 3, 2024
ac4cc3a
config: remove HAVE_DIRTY_INODE_WITH_FLAGS
robn Aug 3, 2024
482684f
config: remove HAVE_D_MAKE_ROOT
robn Aug 3, 2024
5b376ee
config: remove HAVE_D_PRUNE_ALIASES
robn Aug 3, 2024
7579676
config: remove HAVE_ENCODE_FH_WITH_INODE
robn Aug 3, 2024
0a455d9
config: remove HAVE_FALLOC_FL_ZERO_RANGE
robn Aug 3, 2024
ee5e4e0
config: remove HAVE_FILE_DENTRY
robn Aug 3, 2024
1e3afab
config: remove HAVE_FILE_INODE
robn Aug 3, 2024
e770067
config: remove HAVE_FSYNC_RANGE
robn Aug 3, 2024
064cf9c
config: remove HAVE_GENERIC_WRITE_CHECKS_KIOCB
robn Aug 3, 2024
4bf0dba
config: remove HAVE_INODE_SET_FLAGS
robn Aug 3, 2024
3c9efc5
config: remove HAVE_IO_SCHEDULE_TIMEOUT
robn Aug 3, 2024
14fb78d
config: remove HAVE_KERNEL_STRSCPY
robn Aug 3, 2024
f2b5c4c
config: remove HAVE_KERNEL_TIMER_LIST_FLAGS
robn Aug 3, 2024
87cac31
config: remove HAVE_LINUX_BLK_CGROUP_HEADER
robn Aug 3, 2024
53b11f5
config: remove HAVE_PERCPU_COUNTER_INIT_WITH_GFP
robn Aug 3, 2024
a0e1f40
config: remove HAVE___POSIX_ACL_CHMOD
robn Aug 3, 2024
2ceaafb
config: remove HAVE_POSIX_ACL_RELEASE and HAVE_POSIX_ACL_RELEASE_GPL_…
robn Aug 3, 2024
e7d8c53
config: remove HAVE_SET_ACL
robn Aug 3, 2024
a726cbc
config: remove HAVE_SET_CACHED_ACL_USABLE
robn Aug 3, 2024
73fd141
config: remove HAVE_SPLIT_SHRINKER_CALLBACK and HAVE_SINGLE_SHRINKER_…
robn Aug 4, 2024
d2528bf
config: remove HAVE_USER_NS_COMMON_INUM
robn Aug 4, 2024
bd452a9
config: remove HAVE_VFS_RW_ITERATE
robn Aug 4, 2024
603add3
config: remove SHRINK_CONTROL_HAS_NID
robn Aug 4, 2024
e10ff04
config: remove HAVE_VFS_DIRECT_IO_IOVEC
robn Aug 4, 2024
1188861
config: remove HAVE_3ARGS_BDI_SETUP_AND_REGISTER
robn Aug 4, 2024
9c9948c
config: remove HAVE_3ARGS_VFS_GETATTR
robn Aug 4, 2024
69c723c
config: remove HAVE_D_REVALIDATE_NAMEIDATA
robn Aug 4, 2024
fa0fc7a
config: remove HAVE_FOLLOW_LINK_NAMEIDATA
robn Aug 4, 2024
45974f8
config: remove HAVE_LSEEK_EXECUTE
robn Aug 4, 2024
1811d88
config: remove HAVE_PUT_LINK_NAMEIDATA
robn Aug 4, 2024
83aea4b
config: remove HAVE_VFS_DIRECT_IO_ITER_RW_OFFSET
robn Aug 4, 2024
7c054d2
config: remove HAVE_WAIT_ON_BIT_ACTION
robn Aug 4, 2024
6712c2e
config: remove HAVE_XATTR_(GET|SET|LIST)_DENTRY
robn Aug 5, 2024
988b07a
config: remove HAVE_NEW_SYNC_READ
robn Aug 5, 2024
5596d31
config: remove HAVE_VFS_FILE_OPERATIONS_EXTEND
robn Aug 5, 2024
1e00ee1
config: remove HAVE_RENAME2_OPERATIONS_WRAPPER
robn Aug 5, 2024
d3b8497
config: remove HAVE_GET_LINK_COOKIE
robn Aug 5, 2024
43bc5e8
config: remove HAVE_DECLARE_EVENT_CLASS
robn Aug 5, 2024
014a43c
config: fix various bits of missing output
robn Aug 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion META
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ Release-Tags: relext
License: CDDL
Author: OpenZFS
Linux-Maximum: 6.9
Linux-Minimum: 3.10
Linux-Minimum: 4.4
72 changes: 0 additions & 72 deletions config/intlmacosx.m4

This file was deleted.

155 changes: 2 additions & 153 deletions config/kernel-acl.m4
Original file line number Diff line number Diff line change
@@ -1,135 +1,3 @@
dnl #
dnl # Check if posix_acl_release can be used from a ZFS_META_LICENSED
dnl # module. The is_owner_or_cap macro was replaced by
dnl # inode_owner_or_capable
dnl #
AC_DEFUN([ZFS_AC_KERNEL_SRC_POSIX_ACL_RELEASE], [
ZFS_LINUX_TEST_SRC([posix_acl_release], [
#include <linux/cred.h>
#include <linux/fs.h>
#include <linux/posix_acl.h>
], [
struct posix_acl *tmp = posix_acl_alloc(1, 0);
posix_acl_release(tmp);
], [], [ZFS_META_LICENSE])
])

AC_DEFUN([ZFS_AC_KERNEL_POSIX_ACL_RELEASE], [
AC_MSG_CHECKING([whether posix_acl_release() is available])
ZFS_LINUX_TEST_RESULT([posix_acl_release], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_POSIX_ACL_RELEASE, 1,
[posix_acl_release() is available])

AC_MSG_CHECKING([whether posix_acl_release() is GPL-only])
ZFS_LINUX_TEST_RESULT([posix_acl_release_license], [
AC_MSG_RESULT(no)
],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_POSIX_ACL_RELEASE_GPL_ONLY, 1,
[posix_acl_release() is GPL-only])
])
],[
AC_MSG_RESULT(no)
])
])

dnl #
dnl # 3.14 API change,
dnl # set_cached_acl() and forget_cached_acl() changed from inline to
dnl # EXPORT_SYMBOL. In the former case, they may not be usable because of
dnl # posix_acl_release. In the latter case, we can always use them.
dnl #
AC_DEFUN([ZFS_AC_KERNEL_SRC_SET_CACHED_ACL_USABLE], [
ZFS_LINUX_TEST_SRC([set_cached_acl], [
#include <linux/cred.h>
#include <linux/fs.h>
#include <linux/posix_acl.h>
], [
struct inode *ip = NULL;
struct posix_acl *acl = posix_acl_alloc(1, 0);
set_cached_acl(ip, ACL_TYPE_ACCESS, acl);
forget_cached_acl(ip, ACL_TYPE_ACCESS);
], [], [ZFS_META_LICENSE])
])

AC_DEFUN([ZFS_AC_KERNEL_SET_CACHED_ACL_USABLE], [
AC_MSG_CHECKING([whether set_cached_acl() is usable])
ZFS_LINUX_TEST_RESULT([set_cached_acl_license], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SET_CACHED_ACL_USABLE, 1,
[set_cached_acl() is usable])
],[
AC_MSG_RESULT(no)
])
])

dnl #
dnl # 3.1 API change,
dnl # posix_acl_chmod() was added as the preferred interface.
dnl #
dnl # 3.14 API change,
dnl # posix_acl_chmod() was changed to __posix_acl_chmod()
dnl #
AC_DEFUN([ZFS_AC_KERNEL_SRC_POSIX_ACL_CHMOD], [
ZFS_LINUX_TEST_SRC([posix_acl_chmod], [
#include <linux/fs.h>
#include <linux/posix_acl.h>
],[
posix_acl_chmod(NULL, 0, 0)
])

ZFS_LINUX_TEST_SRC([__posix_acl_chmod], [
#include <linux/fs.h>
#include <linux/posix_acl.h>
],[
__posix_acl_chmod(NULL, 0, 0)
])
])

AC_DEFUN([ZFS_AC_KERNEL_POSIX_ACL_CHMOD], [
AC_MSG_CHECKING([whether __posix_acl_chmod exists])
ZFS_LINUX_TEST_RESULT([__posix_acl_chmod], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE___POSIX_ACL_CHMOD, 1,
[__posix_acl_chmod() exists])
],[
AC_MSG_RESULT(no)

AC_MSG_CHECKING([whether posix_acl_chmod exists])
ZFS_LINUX_TEST_RESULT([posix_acl_chmod], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_POSIX_ACL_CHMOD, 1,
[posix_acl_chmod() exists])
],[
ZFS_LINUX_TEST_ERROR([posix_acl_chmod()])
])
])
])

dnl #
dnl # 3.1 API change,
dnl # posix_acl_equiv_mode now wants an umode_t instead of a mode_t
dnl #
AC_DEFUN([ZFS_AC_KERNEL_SRC_POSIX_ACL_EQUIV_MODE_WANTS_UMODE_T], [
ZFS_LINUX_TEST_SRC([posix_acl_equiv_mode], [
#include <linux/fs.h>
#include <linux/posix_acl.h>
],[
umode_t tmp;
posix_acl_equiv_mode(NULL, &tmp);
])
])

AC_DEFUN([ZFS_AC_KERNEL_POSIX_ACL_EQUIV_MODE_WANTS_UMODE_T], [
AC_MSG_CHECKING([whether posix_acl_equiv_mode() wants umode_t])
ZFS_LINUX_TEST_RESULT([posix_acl_equiv_mode], [
AC_MSG_RESULT(yes)
],[
ZFS_LINUX_TEST_ERROR([posix_acl_equiv_mode()])
])
])

dnl #
dnl # 4.8 API change,
dnl # The function posix_acl_valid now must be passed a namespace.
Expand Down Expand Up @@ -226,9 +94,6 @@ AC_DEFUN([ZFS_AC_KERNEL_INODE_OPERATIONS_GET_ACL], [
])
])

dnl #
dnl # 3.14 API change,
dnl # Check if inode_operations contains the function set_acl
dnl #
dnl # 5.12 API change,
dnl # set_acl() added a user_namespace* parameter first
Expand Down Expand Up @@ -290,30 +155,22 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_INODE_OPERATIONS_SET_ACL], [
])

AC_DEFUN([ZFS_AC_KERNEL_INODE_OPERATIONS_SET_ACL], [
AC_MSG_CHECKING([whether iops->set_acl() exists])
AC_MSG_CHECKING([whether iops->set_acl() with 4 args exists])
ZFS_LINUX_TEST_RESULT([inode_operations_set_acl_userns], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SET_ACL, 1, [iops->set_acl() exists])
AC_DEFINE(HAVE_SET_ACL_USERNS, 1, [iops->set_acl() takes 4 args])
],[
ZFS_LINUX_TEST_RESULT([inode_operations_set_acl_mnt_idmap_dentry], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SET_ACL, 1, [iops->set_acl() exists])
AC_DEFINE(HAVE_SET_ACL_IDMAP_DENTRY, 1,
[iops->set_acl() takes 4 args, arg1 is struct mnt_idmap *])
],[
ZFS_LINUX_TEST_RESULT([inode_operations_set_acl_userns_dentry], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SET_ACL, 1, [iops->set_acl() exists])
AC_DEFINE(HAVE_SET_ACL_USERNS_DENTRY_ARG2, 1,
[iops->set_acl() takes 4 args, arg2 is struct dentry *])
],[
ZFS_LINUX_TEST_RESULT([inode_operations_set_acl], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SET_ACL, 1, [iops->set_acl() exists, takes 3 args])
],[
ZFS_LINUX_REQUIRE_API([i_op->set_acl()], [3.14])
])
AC_MSG_RESULT(no)
])
])
])
Expand Down Expand Up @@ -371,10 +228,6 @@ AC_DEFUN([ZFS_AC_KERNEL_ACL_HAS_REFCOUNT], [
])

AC_DEFUN([ZFS_AC_KERNEL_SRC_ACL], [
ZFS_AC_KERNEL_SRC_POSIX_ACL_RELEASE
ZFS_AC_KERNEL_SRC_SET_CACHED_ACL_USABLE
ZFS_AC_KERNEL_SRC_POSIX_ACL_CHMOD
ZFS_AC_KERNEL_SRC_POSIX_ACL_EQUIV_MODE_WANTS_UMODE_T
ZFS_AC_KERNEL_SRC_POSIX_ACL_VALID_WITH_NS
ZFS_AC_KERNEL_SRC_INODE_OPERATIONS_GET_ACL
ZFS_AC_KERNEL_SRC_INODE_OPERATIONS_SET_ACL
Expand All @@ -383,10 +236,6 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_ACL], [
])

AC_DEFUN([ZFS_AC_KERNEL_ACL], [
ZFS_AC_KERNEL_POSIX_ACL_RELEASE
ZFS_AC_KERNEL_SET_CACHED_ACL_USABLE
ZFS_AC_KERNEL_POSIX_ACL_CHMOD
ZFS_AC_KERNEL_POSIX_ACL_EQUIV_MODE_WANTS_UMODE_T
ZFS_AC_KERNEL_POSIX_ACL_VALID_WITH_NS
ZFS_AC_KERNEL_INODE_OPERATIONS_GET_ACL
ZFS_AC_KERNEL_INODE_OPERATIONS_SET_ACL
Expand Down
25 changes: 0 additions & 25 deletions config/kernel-automount.m4

This file was deleted.

27 changes: 1 addition & 26 deletions config/kernel-bdi.m4
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,6 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_BDI], [
int error __attribute__((unused)) =
bdi_setup_and_register(&bdi, name);
])

ZFS_LINUX_TEST_SRC([bdi_setup_and_register_3args], [
#include <linux/backing-dev.h>
struct backing_dev_info bdi;
], [
char *name = "bdi";
unsigned int cap = BDI_CAP_MAP_COPY;
int error __attribute__((unused)) =
bdi_setup_and_register(&bdi, name, cap);
])
])

AC_DEFUN([ZFS_AC_KERNEL_BDI], [
Expand Down Expand Up @@ -60,22 +50,7 @@ AC_DEFUN([ZFS_AC_KERNEL_BDI], [
[bdi_setup_and_register() wants 2 args])
], [
AC_MSG_RESULT(no)

dnl #
dnl # 2.6.34 - 3.19, bdi_setup_and_register()
dnl # takes 3 arguments.
dnl #
AC_MSG_CHECKING(
[whether bdi_setup_and_register() wants 3 args])
ZFS_LINUX_TEST_RESULT_SYMBOL(
[bdi_setup_and_register_3args],
[bdi_setup_and_register], [mm/backing-dev.c], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_3ARGS_BDI_SETUP_AND_REGISTER, 1,
[bdi_setup_and_register() wants 3 args])
], [
ZFS_LINUX_TEST_ERROR([bdi_setup])
])
ZFS_LINUX_TEST_ERROR([bdi_setup])
])
])
])
Loading
Loading