提交 e6aabe0c 编写于 作者: J Jan Kara 提交者: Joel Becker

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: NJan Kara <jack@suse.cz>
Signed-off-by: NJoel Becker <joel.becker@oracle.com>
上级 2f48d593
...@@ -6,6 +6,7 @@ config OCFS2_FS ...@@ -6,6 +6,7 @@ config OCFS2_FS
select CRC32 select CRC32
select QUOTA select QUOTA
select QUOTA_TREE select QUOTA_TREE
select FS_POSIX_ACL
help help
OCFS2 is a general purpose extent based shared disk cluster file OCFS2 is a general purpose extent based shared disk cluster file
system with many similarities to ext3. It supports 64 bit inode system with many similarities to ext3. It supports 64 bit inode
...@@ -74,12 +75,3 @@ config OCFS2_DEBUG_FS ...@@ -74,12 +75,3 @@ config OCFS2_DEBUG_FS
This option will enable expensive consistency checks. Enable This option will enable expensive consistency checks. Enable
this option for debugging only as it is likely to decrease this option for debugging only as it is likely to decrease
performance of the filesystem. 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 := \ ...@@ -39,11 +39,8 @@ ocfs2-objs := \
ver.o \ ver.o \
quota_local.o \ quota_local.o \
quota_global.o \ quota_global.o \
xattr.o xattr.o \
acl.o
ifeq ($(CONFIG_OCFS2_FS_POSIX_ACL),y)
ocfs2-objs += acl.o
endif
ocfs2_stackglue-objs := stackglue.o ocfs2_stackglue-objs := stackglue.o
ocfs2_stack_o2cb-objs := stack_o2cb.o ocfs2_stack_o2cb-objs := stack_o2cb.o
......
...@@ -26,8 +26,6 @@ struct ocfs2_acl_entry { ...@@ -26,8 +26,6 @@ struct ocfs2_acl_entry {
__le32 e_id; __le32 e_id;
}; };
#ifdef CONFIG_OCFS2_FS_POSIX_ACL
extern int ocfs2_check_acl(struct inode *, int); extern int ocfs2_check_acl(struct inode *, int);
extern int ocfs2_acl_chmod(struct inode *); extern int ocfs2_acl_chmod(struct inode *);
extern int ocfs2_init_acl(handle_t *, struct inode *, 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 *, ...@@ -35,24 +33,4 @@ extern int ocfs2_init_acl(handle_t *, struct inode *, struct inode *,
struct ocfs2_alloc_context *, struct ocfs2_alloc_context *,
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 */ #endif /* OCFS2_ACL_H */
...@@ -1413,19 +1413,12 @@ static int ocfs2_parse_options(struct super_block *sb, ...@@ -1413,19 +1413,12 @@ static int ocfs2_parse_options(struct super_block *sb,
} }
mopt->mount_opt |= OCFS2_MOUNT_GRPQUOTA; mopt->mount_opt |= OCFS2_MOUNT_GRPQUOTA;
break; break;
#ifdef CONFIG_OCFS2_FS_POSIX_ACL
case Opt_acl: case Opt_acl:
mopt->mount_opt |= OCFS2_MOUNT_POSIX_ACL; mopt->mount_opt |= OCFS2_MOUNT_POSIX_ACL;
break; break;
case Opt_noacl: case Opt_noacl:
mopt->mount_opt &= ~OCFS2_MOUNT_POSIX_ACL; mopt->mount_opt &= ~OCFS2_MOUNT_POSIX_ACL;
break; break;
#else
case Opt_acl:
case Opt_noacl:
printk(KERN_INFO "ocfs2 (no)acl options not supported\n");
break;
#endif
default: default:
mlog(ML_ERROR, mlog(ML_ERROR,
"Unrecognized mount option \"%s\" " "Unrecognized mount option \"%s\" "
...@@ -1502,12 +1495,10 @@ static int ocfs2_show_options(struct seq_file *s, struct vfsmount *mnt) ...@@ -1502,12 +1495,10 @@ static int ocfs2_show_options(struct seq_file *s, struct vfsmount *mnt)
if (opts & OCFS2_MOUNT_INODE64) if (opts & OCFS2_MOUNT_INODE64)
seq_printf(s, ",inode64"); seq_printf(s, ",inode64");
#ifdef CONFIG_OCFS2_FS_POSIX_ACL
if (opts & OCFS2_MOUNT_POSIX_ACL) if (opts & OCFS2_MOUNT_POSIX_ACL)
seq_printf(s, ",acl"); seq_printf(s, ",acl");
else else
seq_printf(s, ",noacl"); seq_printf(s, ",noacl");
#endif
return 0; return 0;
} }
......
...@@ -98,10 +98,8 @@ static struct ocfs2_xattr_def_value_root def_xv = { ...@@ -98,10 +98,8 @@ static struct ocfs2_xattr_def_value_root def_xv = {
struct xattr_handler *ocfs2_xattr_handlers[] = { struct xattr_handler *ocfs2_xattr_handlers[] = {
&ocfs2_xattr_user_handler, &ocfs2_xattr_user_handler,
#ifdef CONFIG_OCFS2_FS_POSIX_ACL
&ocfs2_xattr_acl_access_handler, &ocfs2_xattr_acl_access_handler,
&ocfs2_xattr_acl_default_handler, &ocfs2_xattr_acl_default_handler,
#endif
&ocfs2_xattr_trusted_handler, &ocfs2_xattr_trusted_handler,
&ocfs2_xattr_security_handler, &ocfs2_xattr_security_handler,
NULL NULL
...@@ -109,12 +107,10 @@ struct xattr_handler *ocfs2_xattr_handlers[] = { ...@@ -109,12 +107,10 @@ struct xattr_handler *ocfs2_xattr_handlers[] = {
static struct xattr_handler *ocfs2_xattr_handler_map[OCFS2_XATTR_MAX] = { static struct xattr_handler *ocfs2_xattr_handler_map[OCFS2_XATTR_MAX] = {
[OCFS2_XATTR_INDEX_USER] = &ocfs2_xattr_user_handler, [OCFS2_XATTR_INDEX_USER] = &ocfs2_xattr_user_handler,
#ifdef CONFIG_OCFS2_FS_POSIX_ACL
[OCFS2_XATTR_INDEX_POSIX_ACL_ACCESS] [OCFS2_XATTR_INDEX_POSIX_ACL_ACCESS]
= &ocfs2_xattr_acl_access_handler, = &ocfs2_xattr_acl_access_handler,
[OCFS2_XATTR_INDEX_POSIX_ACL_DEFAULT] [OCFS2_XATTR_INDEX_POSIX_ACL_DEFAULT]
= &ocfs2_xattr_acl_default_handler, = &ocfs2_xattr_acl_default_handler,
#endif
[OCFS2_XATTR_INDEX_TRUSTED] = &ocfs2_xattr_trusted_handler, [OCFS2_XATTR_INDEX_TRUSTED] = &ocfs2_xattr_trusted_handler,
[OCFS2_XATTR_INDEX_SECURITY] = &ocfs2_xattr_security_handler, [OCFS2_XATTR_INDEX_SECURITY] = &ocfs2_xattr_security_handler,
}; };
......
...@@ -40,10 +40,8 @@ struct ocfs2_security_xattr_info { ...@@ -40,10 +40,8 @@ struct ocfs2_security_xattr_info {
extern struct xattr_handler ocfs2_xattr_user_handler; extern struct xattr_handler ocfs2_xattr_user_handler;
extern struct xattr_handler ocfs2_xattr_trusted_handler; extern struct xattr_handler ocfs2_xattr_trusted_handler;
extern struct xattr_handler ocfs2_xattr_security_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_access_handler;
extern struct xattr_handler ocfs2_xattr_acl_default_handler; extern struct xattr_handler ocfs2_xattr_acl_default_handler;
#endif
extern struct xattr_handler *ocfs2_xattr_handlers[]; extern struct xattr_handler *ocfs2_xattr_handlers[];
ssize_t ocfs2_listxattr(struct dentry *, char *, size_t); ssize_t ocfs2_listxattr(struct dentry *, char *, size_t);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册