mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 10:54:35 +03:00
65b4a5c551
The d_u union introduced in 3.18 is now anonymous, so we need to detect
it and decide the right way to name d_alias.
Note that we used to have support for both names to support kernels
before 3.18, so this commit is effectively reverting the commit that
removed that support, efc293e371.
Sponsored-by: TrueNAS
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <rob.norris@truenas.com>
Closes #18471
33 lines
840 B
Plaintext
33 lines
840 B
Plaintext
dnl # SPDX-License-Identifier: CDDL-1.0
|
|
dnl #
|
|
dnl # 7.1 API change
|
|
dnl # d_u union in struct dentry is now anonmymous, so d_alias must be
|
|
dnl # named directly
|
|
dnl #
|
|
AC_DEFUN([ZFS_AC_KERNEL_SRC_DENTRY_ALIAS_D_U], [
|
|
ZFS_LINUX_TEST_SRC([dentry_alias_d_u], [
|
|
#include <linux/fs.h>
|
|
#include <linux/dcache.h>
|
|
#include <linux/list.h>
|
|
], [
|
|
struct inode *inode __attribute__ ((unused)) = NULL;
|
|
struct dentry *dentry __attribute__ ((unused)) = NULL;
|
|
hlist_for_each_entry(dentry, &inode->i_dentry,
|
|
d_u.d_alias) {
|
|
d_drop(dentry);
|
|
}
|
|
])
|
|
])
|
|
|
|
AC_DEFUN([ZFS_AC_KERNEL_DENTRY_ALIAS_D_U], [
|
|
AC_MSG_CHECKING([whether dentry aliases are in d_u member])
|
|
ZFS_LINUX_TEST_RESULT([dentry_alias_d_u], [
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_DENTRY_D_U_ALIASES, 1,
|
|
[dentry aliases are in d_u member])
|
|
],[
|
|
AC_MSG_RESULT(no)
|
|
])
|
|
])
|
|
|