Honor CONFIG_FS_POSIX_ACL kernel option

The required Posix ACL interfaces are only available for kernels
with CONFIG_FS_POSIX_ACL defined.  Therefore, only enable Posix
ACL support for these kernels.  All major distribution kernels
enable CONFIG_FS_POSIX_ACL by default.

If your kernel does not support Posix ACLs the following warning
will be printed at ZFS module load time.

  "ZFS: Posix ACLs disabled by kernel"

Signed-off-by: Massimo Maggi <me@massimo-maggi.eu>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #1825
This commit is contained in:
Massimo Maggi
2013-11-03 00:40:26 +01:00
committed by Brian Behlendorf
parent 78e2739d3c
commit b695c34ea4
7 changed files with 38 additions and 0 deletions
+6
View File
@@ -722,6 +722,8 @@ xattr_handler_t zpl_xattr_security_handler = {
.set = zpl_xattr_security_set,
};
#ifdef CONFIG_FS_POSIX_ACL
int
zpl_set_acl(struct inode *ip, int type, struct posix_acl *acl)
{
@@ -1187,11 +1189,15 @@ struct xattr_handler zpl_xattr_acl_default_handler =
#endif /* HAVE_DENTRY_XATTR_LIST */
};
#endif /* CONFIG_FS_POSIX_ACL */
xattr_handler_t *zpl_xattr_handlers[] = {
&zpl_xattr_security_handler,
&zpl_xattr_trusted_handler,
&zpl_xattr_user_handler,
#ifdef CONFIG_FS_POSIX_ACL
&zpl_xattr_acl_access_handler,
&zpl_xattr_acl_default_handler,
#endif /* CONFIG_FS_POSIX_ACL */
NULL
};