mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
Check whether the kernel supports i_uid/gid_read/write helpers
Since the concept of a kuid and the need to translate from it to ordinary integer type was added in kernel version 3.5 implement necessary plumbing to be able to detect this condition during compile time. If the kernel doesn't support the kuid then just fall back to directly accessing the respective struct inode's members Signed-off-by: Nikolay Borisov <n.borisov.lkml@gmail.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Issue #4685 Issue #227
This commit is contained in:
committed by
Brian Behlendorf
parent
77943bc1dc
commit
82a1b2d628
@@ -0,0 +1,22 @@
|
||||
dnl #
|
||||
dnl # 3.5 API change,
|
||||
dnl # Since usernamespaces were introduced in kernel version 3.5, it
|
||||
dnl # became necessary to go through one more level of indirection
|
||||
dnl # when dealing with uid/gid - namely the kuid type.
|
||||
dnl #
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_KERNEL_KUID_HELPERS], [
|
||||
AC_MSG_CHECKING([whether i_(uid|gid)_(read|write) exist])
|
||||
ZFS_LINUX_TRY_COMPILE([
|
||||
#include <linux/fs.h>
|
||||
],[
|
||||
struct inode *ip = NULL;
|
||||
(void) i_uid_read(ip);
|
||||
],[
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_KUID_HELPERS, 1,
|
||||
[i_(uid|gid)_(read|write) exist])
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
@@ -92,6 +92,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
|
||||
ZFS_AC_KERNEL_MAKE_REQUEST_FN
|
||||
ZFS_AC_KERNEL_GENERIC_IO_ACCT
|
||||
ZFS_AC_KERNEL_FPU
|
||||
ZFS_AC_KERNEL_KUID_HELPERS
|
||||
|
||||
AS_IF([test "$LINUX_OBJ" != "$LINUX"], [
|
||||
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
|
||||
|
||||
Reference in New Issue
Block a user