mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
switch reiserfs to inode->i_acl
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
7a77b15d92
commit
281eede032
5 changed files with 4 additions and 55 deletions
|
@ -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 */
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue