* Use is subject to license terms.
*/
/*
- * Copyright (c) 2012, 2014, Intel Corporation.
+ * Copyright (c) 2012, 2017, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
* @{
*/
-#ifdef CONFIG_FS_POSIX_ACL
+#ifdef CONFIG_LUSTRE_FS_POSIX_ACL
# include <linux/fs.h>
-# include <linux/posix_acl_xattr.h>
-
-typedef struct {
- __u16 e_tag;
- __u16 e_perm;
- __u32 e_id;
- __u32 e_stat;
-} ext_acl_xattr_entry;
-
-typedef struct {
- __u32 a_count;
- ext_acl_xattr_entry a_entries[0];
-} ext_acl_xattr_header;
-
-#define CFS_ACL_XATTR_SIZE(count, prefix) \
- (sizeof(prefix ## _header) + (count) * sizeof(prefix ## _entry))
-
-#define CFS_ACL_XATTR_COUNT(size, prefix) \
- (((size) - sizeof(prefix ## _header)) / sizeof(prefix ## _entry))
+# include <lustre_compat.h>
#ifdef HAVE_SERVER_SUPPORT
struct lu_ucred;
struct lu_attr;
struct lustre_idmap_table;
+#ifdef HAVE_STRUCT_POSIX_ACL_XATTR
+# define posix_acl_xattr_header struct posix_acl_xattr_header
+# define posix_acl_xattr_entry struct posix_acl_xattr_entry
+#endif
+
extern int lustre_posix_acl_permission(struct lu_ucred *mu,
- const struct lu_attr *la, int want,
+ const struct lu_attr *la,
+ unsigned int may_mask,
posix_acl_xattr_entry *entry,
int count);
extern int lustre_posix_acl_chmod_masq(posix_acl_xattr_entry *entry,
extern int lustre_posix_acl_equiv_mode(posix_acl_xattr_entry *entry, mode_t *mode_p,
int count);
#endif /* HAVE_SERVER_SUPPORT */
-#endif /* CONFIG_FS_POSIX_ACL */
+#endif /* CONFIG_LUSTRE_FS_POSIX_ACL */
/** @} eacl */