Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 281eede0 authored by Al Viro's avatar Al Viro
Browse files

switch reiserfs to inode->i_acl



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 7a77b15d
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -1131,8 +1131,6 @@ static void init_inode(struct inode *inode, struct treepath *path)
	REISERFS_I(inode)->i_trans_id = 0;
	REISERFS_I(inode)->i_jl = NULL;
	mutex_init(&(REISERFS_I(inode)->i_mmap));
	reiserfs_init_acl_access(inode);
	reiserfs_init_acl_default(inode);
	reiserfs_init_xattr_rwsem(inode);

	if (stat_data_v1(ih)) {
@@ -1834,8 +1832,6 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
	    REISERFS_I(dir)->i_attrs & REISERFS_INHERIT_MASK;
	sd_attrs_to_i_attrs(REISERFS_I(inode)->i_attrs, inode);
	mutex_init(&(REISERFS_I(inode)->i_mmap));
	reiserfs_init_acl_access(inode);
	reiserfs_init_acl_default(inode);
	reiserfs_init_xattr_rwsem(inode);

	/* key to search for correct place for new stat data */
+0 −24
Original line number Diff line number Diff line
@@ -529,10 +529,6 @@ static void init_once(void *foo)

	INIT_LIST_HEAD(&ei->i_prealloc_list);
	inode_init_once(&ei->vfs_inode);
#ifdef CONFIG_REISERFS_FS_POSIX_ACL
	ei->i_acl_access = ACL_NOT_CACHED;
	ei->i_acl_default = ACL_NOT_CACHED;
#endif
}

static int init_inodecache(void)
@@ -580,25 +576,6 @@ static void reiserfs_dirty_inode(struct inode *inode)
	reiserfs_write_unlock(inode->i_sb);
}

#ifdef CONFIG_REISERFS_FS_POSIX_ACL
static void reiserfs_clear_inode(struct inode *inode)
{
	struct posix_acl *acl;

	acl = REISERFS_I(inode)->i_acl_access;
	if (acl && acl != ACL_NOT_CACHED)
		posix_acl_release(acl);
	REISERFS_I(inode)->i_acl_access = ACL_NOT_CACHED;

	acl = REISERFS_I(inode)->i_acl_default;
	if (acl && acl != ACL_NOT_CACHED)
		posix_acl_release(acl);
	REISERFS_I(inode)->i_acl_default = ACL_NOT_CACHED;
}
#else
#define reiserfs_clear_inode NULL
#endif

#ifdef CONFIG_QUOTA
static ssize_t reiserfs_quota_write(struct super_block *, int, const char *,
				    size_t, loff_t);
@@ -612,7 +589,6 @@ static const struct super_operations reiserfs_sops = {
	.write_inode = reiserfs_write_inode,
	.dirty_inode = reiserfs_dirty_inode,
	.delete_inode = reiserfs_delete_inode,
	.clear_inode = reiserfs_clear_inode,
	.put_super = reiserfs_put_super,
	.write_super = reiserfs_write_super,
	.sync_fs = reiserfs_sync_fs,
+4 −6
Original line number Diff line number Diff line
@@ -223,16 +223,15 @@ struct posix_acl *reiserfs_get_acl(struct inode *inode, int type)
	struct posix_acl *acl, **p_acl;
	int size;
	int retval;
	struct reiserfs_inode_info *reiserfs_i = REISERFS_I(inode);

	switch (type) {
	case ACL_TYPE_ACCESS:
		name = POSIX_ACL_XATTR_ACCESS;
		p_acl = &reiserfs_i->i_acl_access;
		p_acl = &inode->i_acl;
		break;
	case ACL_TYPE_DEFAULT:
		name = POSIX_ACL_XATTR_DEFAULT;
		p_acl = &reiserfs_i->i_acl_default;
		p_acl = &inode->i_default_acl;
		break;
	default:
		return ERR_PTR(-EINVAL);
@@ -288,7 +287,6 @@ reiserfs_set_acl(struct reiserfs_transaction_handle *th, struct inode *inode,
	struct posix_acl **p_acl;
	size_t size = 0;
	int error;
	struct reiserfs_inode_info *reiserfs_i = REISERFS_I(inode);

	if (S_ISLNK(inode->i_mode))
		return -EOPNOTSUPP;
@@ -296,7 +294,7 @@ reiserfs_set_acl(struct reiserfs_transaction_handle *th, struct inode *inode,
	switch (type) {
	case ACL_TYPE_ACCESS:
		name = POSIX_ACL_XATTR_ACCESS;
		p_acl = &reiserfs_i->i_acl_access;
		p_acl = &inode->i_acl;
		if (acl) {
			mode_t mode = inode->i_mode;
			error = posix_acl_equiv_mode(acl, &mode);
@@ -311,7 +309,7 @@ reiserfs_set_acl(struct reiserfs_transaction_handle *th, struct inode *inode,
		break;
	case ACL_TYPE_DEFAULT:
		name = POSIX_ACL_XATTR_DEFAULT;
		p_acl = &reiserfs_i->i_acl_default;
		p_acl = &inode->i_default_acl;
		if (!S_ISDIR(inode->i_mode))
			return acl ? -EACCES : 0;
		break;
+0 −17
Original line number Diff line number Diff line
@@ -56,15 +56,6 @@ int reiserfs_cache_default_acl(struct inode *dir);
extern struct xattr_handler reiserfs_posix_acl_default_handler;
extern struct xattr_handler reiserfs_posix_acl_access_handler;

static inline void reiserfs_init_acl_access(struct inode *inode)
{
	REISERFS_I(inode)->i_acl_access = ACL_NOT_CACHED;
}

static inline void reiserfs_init_acl_default(struct inode *inode)
{
	REISERFS_I(inode)->i_acl_default = ACL_NOT_CACHED;
}
#else

#define reiserfs_cache_default_acl(inode) 0
@@ -86,12 +77,4 @@ reiserfs_inherit_default_acl(struct reiserfs_transaction_handle *th,
{
	return 0;
}

static inline void reiserfs_init_acl_access(struct inode *inode)
{
}

static inline void reiserfs_init_acl_default(struct inode *inode)
{
}
#endif
+0 −4
Original line number Diff line number Diff line
@@ -54,10 +54,6 @@ struct reiserfs_inode_info {
	unsigned int i_trans_id;
	struct reiserfs_journal_list *i_jl;
	struct mutex i_mmap;
#ifdef CONFIG_REISERFS_FS_POSIX_ACL
	struct posix_acl *i_acl_access;
	struct posix_acl *i_acl_default;
#endif
#ifdef CONFIG_REISERFS_FS_XATTR
	struct rw_semaphore i_xattr_sem;
#endif