e2a8296131
In Linux 5.12, the filesystem API was modified to support ipmapped mounts by adding a "struct user_namespace *" parameter to a number functions and VFS handlers. This change adds the needed autoconf macros to detect the new interfaces and updates the code appropriately. This change does not add support for idmapped mounts, instead it preserves the existing behavior by passing the initial user namespace where needed. A subsequent commit will be required to add support for idmapped mounted. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Co-authored-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Coleman Kane <ckane@colemankane.org> Closes #11712
31 lines
823 B
Plaintext
31 lines
823 B
Plaintext
AC_DEFUN([ZFS_AC_KERNEL_SRC_SYMLINK], [
|
|
dnl #
|
|
dnl # 5.12 API change that added the struct user_namespace* arg
|
|
dnl # to the front of this function type's arg list.
|
|
dnl #
|
|
ZFS_LINUX_TEST_SRC([symlink_userns], [
|
|
#include <linux/fs.h>
|
|
#include <linux/sched.h>
|
|
|
|
int tmp_symlink(struct user_namespace *userns,
|
|
struct inode *inode ,struct dentry *dentry,
|
|
const char *path) { return 0; }
|
|
|
|
static const struct inode_operations
|
|
iops __attribute__ ((unused)) = {
|
|
.symlink = tmp_symlink,
|
|
};
|
|
],[])
|
|
])
|
|
|
|
AC_DEFUN([ZFS_AC_KERNEL_SYMLINK], [
|
|
AC_MSG_CHECKING([whether iops->symlink() takes struct user_namespace*])
|
|
ZFS_LINUX_TEST_RESULT([symlink_userns], [
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_IOPS_SYMLINK_USERNS, 1,
|
|
[iops->symlink() takes struct user_namespace*])
|
|
],[
|
|
AC_MSG_RESULT(no)
|
|
])
|
|
])
|