mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-24 19:28:53 +03:00
Linux 4.5 compat: Use xattr_handler->name for acl
Linux 4.5 added member "name" to xattr_handler. xattr_handler which matches to whole name rather than prefix should use "name" instead of "prefix". Otherwise, kernel will return with EINVAL when it tries to resolve handlers. Also, we remove the strcmp checks when xattr_handler has name, because xattr_resolve_name will do the check for us. Signed-off-by: Chunwei Chen <david.chen@osnexus.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #4549 Closes #4537
This commit is contained in:
committed by
Brian Behlendorf
parent
da5e151f20
commit
232604b58e
@@ -32,6 +32,31 @@ AC_DEFUN([ZFS_AC_KERNEL_CONST_XATTR_HANDLER], [
|
||||
])
|
||||
])
|
||||
|
||||
dnl #
|
||||
dnl # 4.5 API change,
|
||||
dnl # struct xattr_handler added new member "name".
|
||||
dnl # xattr_handler which matches to whole name rather than prefix should use
|
||||
dnl # "name" instead of "prefix", e.g. "system.posix_acl_access"
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_KERNEL_XATTR_HANDLER_NAME], [
|
||||
AC_MSG_CHECKING([whether xattr_handler has name])
|
||||
ZFS_LINUX_TRY_COMPILE([
|
||||
#include <linux/xattr.h>
|
||||
|
||||
static const struct xattr_handler
|
||||
xops __attribute__ ((unused)) = {
|
||||
.name = XATTR_NAME_POSIX_ACL_ACCESS,
|
||||
};
|
||||
],[
|
||||
],[
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_XATTR_HANDLER_NAME, 1,
|
||||
[xattr_handler has name])
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
|
||||
dnl #
|
||||
dnl # Supported xattr handler get() interfaces checked newest to oldest.
|
||||
dnl #
|
||||
|
||||
Reference in New Issue
Block a user