ocfs2: Always include ACL support
To become consistent with filesystems such as XFS or BTRFS, make posix ACLs always available. This also reduces possibility of misconfiguration on admin's side. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Joel Becker <joel.becker@oracle.com>
This commit is contained in:
Родитель
2f48d593b6
Коммит
e6aabe0cac
|
@ -6,6 +6,7 @@ config OCFS2_FS
|
|||
select CRC32
|
||||
select QUOTA
|
||||
select QUOTA_TREE
|
||||
select FS_POSIX_ACL
|
||||
help
|
||||
OCFS2 is a general purpose extent based shared disk cluster file
|
||||
system with many similarities to ext3. It supports 64 bit inode
|
||||
|
@ -74,12 +75,3 @@ config OCFS2_DEBUG_FS
|
|||
This option will enable expensive consistency checks. Enable
|
||||
this option for debugging only as it is likely to decrease
|
||||
performance of the filesystem.
|
||||
|
||||
config OCFS2_FS_POSIX_ACL
|
||||
bool "OCFS2 POSIX Access Control Lists"
|
||||
depends on OCFS2_FS
|
||||
select FS_POSIX_ACL
|
||||
default n
|
||||
help
|
||||
Posix Access Control Lists (ACLs) support permissions for users and
|
||||
groups beyond the owner/group/world scheme.
|
||||
|
|
|
@ -39,11 +39,8 @@ ocfs2-objs := \
|
|||
ver.o \
|
||||
quota_local.o \
|
||||
quota_global.o \
|
||||
xattr.o
|
||||
|
||||
ifeq ($(CONFIG_OCFS2_FS_POSIX_ACL),y)
|
||||
ocfs2-objs += acl.o
|
||||
endif
|
||||
xattr.o \
|
||||
acl.o
|
||||
|
||||
ocfs2_stackglue-objs := stackglue.o
|
||||
ocfs2_stack_o2cb-objs := stack_o2cb.o
|
||||
|
|
|
@ -26,8 +26,6 @@ struct ocfs2_acl_entry {
|
|||
__le32 e_id;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_OCFS2_FS_POSIX_ACL
|
||||
|
||||
extern int ocfs2_check_acl(struct inode *, int);
|
||||
extern int ocfs2_acl_chmod(struct inode *);
|
||||
extern int ocfs2_init_acl(handle_t *, struct inode *, struct inode *,
|
||||
|
@ -35,24 +33,4 @@ extern int ocfs2_init_acl(handle_t *, struct inode *, struct inode *,
|
|||
struct ocfs2_alloc_context *,
|
||||
struct ocfs2_alloc_context *);
|
||||
|
||||
#else /* CONFIG_OCFS2_FS_POSIX_ACL*/
|
||||
|
||||
#define ocfs2_check_acl NULL
|
||||
static inline int ocfs2_acl_chmod(struct inode *inode)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline int ocfs2_init_acl(handle_t *handle,
|
||||
struct inode *inode,
|
||||
struct inode *dir,
|
||||
struct buffer_head *di_bh,
|
||||
struct buffer_head *dir_bh,
|
||||
struct ocfs2_alloc_context *meta_ac,
|
||||
struct ocfs2_alloc_context *data_ac)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_OCFS2_FS_POSIX_ACL*/
|
||||
|
||||
#endif /* OCFS2_ACL_H */
|
||||
|
|
|
@ -1413,19 +1413,12 @@ static int ocfs2_parse_options(struct super_block *sb,
|
|||
}
|
||||
mopt->mount_opt |= OCFS2_MOUNT_GRPQUOTA;
|
||||
break;
|
||||
#ifdef CONFIG_OCFS2_FS_POSIX_ACL
|
||||
case Opt_acl:
|
||||
mopt->mount_opt |= OCFS2_MOUNT_POSIX_ACL;
|
||||
break;
|
||||
case Opt_noacl:
|
||||
mopt->mount_opt &= ~OCFS2_MOUNT_POSIX_ACL;
|
||||
break;
|
||||
#else
|
||||
case Opt_acl:
|
||||
case Opt_noacl:
|
||||
printk(KERN_INFO "ocfs2 (no)acl options not supported\n");
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
mlog(ML_ERROR,
|
||||
"Unrecognized mount option \"%s\" "
|
||||
|
@ -1502,12 +1495,10 @@ static int ocfs2_show_options(struct seq_file *s, struct vfsmount *mnt)
|
|||
if (opts & OCFS2_MOUNT_INODE64)
|
||||
seq_printf(s, ",inode64");
|
||||
|
||||
#ifdef CONFIG_OCFS2_FS_POSIX_ACL
|
||||
if (opts & OCFS2_MOUNT_POSIX_ACL)
|
||||
seq_printf(s, ",acl");
|
||||
else
|
||||
seq_printf(s, ",noacl");
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -98,10 +98,8 @@ static struct ocfs2_xattr_def_value_root def_xv = {
|
|||
|
||||
struct xattr_handler *ocfs2_xattr_handlers[] = {
|
||||
&ocfs2_xattr_user_handler,
|
||||
#ifdef CONFIG_OCFS2_FS_POSIX_ACL
|
||||
&ocfs2_xattr_acl_access_handler,
|
||||
&ocfs2_xattr_acl_default_handler,
|
||||
#endif
|
||||
&ocfs2_xattr_trusted_handler,
|
||||
&ocfs2_xattr_security_handler,
|
||||
NULL
|
||||
|
@ -109,12 +107,10 @@ struct xattr_handler *ocfs2_xattr_handlers[] = {
|
|||
|
||||
static struct xattr_handler *ocfs2_xattr_handler_map[OCFS2_XATTR_MAX] = {
|
||||
[OCFS2_XATTR_INDEX_USER] = &ocfs2_xattr_user_handler,
|
||||
#ifdef CONFIG_OCFS2_FS_POSIX_ACL
|
||||
[OCFS2_XATTR_INDEX_POSIX_ACL_ACCESS]
|
||||
= &ocfs2_xattr_acl_access_handler,
|
||||
[OCFS2_XATTR_INDEX_POSIX_ACL_DEFAULT]
|
||||
= &ocfs2_xattr_acl_default_handler,
|
||||
#endif
|
||||
[OCFS2_XATTR_INDEX_TRUSTED] = &ocfs2_xattr_trusted_handler,
|
||||
[OCFS2_XATTR_INDEX_SECURITY] = &ocfs2_xattr_security_handler,
|
||||
};
|
||||
|
|
|
@ -40,10 +40,8 @@ struct ocfs2_security_xattr_info {
|
|||
extern struct xattr_handler ocfs2_xattr_user_handler;
|
||||
extern struct xattr_handler ocfs2_xattr_trusted_handler;
|
||||
extern struct xattr_handler ocfs2_xattr_security_handler;
|
||||
#ifdef CONFIG_OCFS2_FS_POSIX_ACL
|
||||
extern struct xattr_handler ocfs2_xattr_acl_access_handler;
|
||||
extern struct xattr_handler ocfs2_xattr_acl_default_handler;
|
||||
#endif
|
||||
extern struct xattr_handler *ocfs2_xattr_handlers[];
|
||||
|
||||
ssize_t ocfs2_listxattr(struct dentry *, char *, size_t);
|
||||
|
|
Загрузка…
Ссылка в новой задаче