Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] reiserfs: ifdef ACL stuff from inode

Shrink reiserfs inode more (by 8 bytes) for ACL non-users:

-reiser_inode_cache 344 11
+reiser_inode_cache 336 11

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: <reiserfs-dev@namesys.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Alexey Dobriyan and committed by
Linus Torvalds
cfe14677 068fbb31

+31 -5
+6 -4
fs/reiserfs/inode.c
··· 1127 1127 REISERFS_I(inode)->i_prealloc_count = 0; 1128 1128 REISERFS_I(inode)->i_trans_id = 0; 1129 1129 REISERFS_I(inode)->i_jl = NULL; 1130 - REISERFS_I(inode)->i_acl_access = NULL; 1131 - REISERFS_I(inode)->i_acl_default = NULL; 1130 + reiserfs_init_acl_access(inode); 1131 + reiserfs_init_acl_default(inode); 1132 1132 reiserfs_init_xattr_rwsem(inode); 1133 1133 1134 1134 if (stat_data_v1(ih)) { ··· 1834 1834 REISERFS_I(inode)->i_attrs = 1835 1835 REISERFS_I(dir)->i_attrs & REISERFS_INHERIT_MASK; 1836 1836 sd_attrs_to_i_attrs(REISERFS_I(inode)->i_attrs, inode); 1837 - REISERFS_I(inode)->i_acl_access = NULL; 1838 - REISERFS_I(inode)->i_acl_default = NULL; 1837 + reiserfs_init_acl_access(inode); 1838 + reiserfs_init_acl_default(inode); 1839 1839 reiserfs_init_xattr_rwsem(inode); 1840 1840 1841 1841 if (old_format_only(sb)) ··· 1974 1974 * iput doesn't deadlock in reiserfs_delete_xattrs. The locking 1975 1975 * code really needs to be reworked, but this will take care of it 1976 1976 * for now. -jeffm */ 1977 + #ifdef CONFIG_REISERFS_FS_POSIX_ACL 1977 1978 if (REISERFS_I(dir)->i_acl_default && !IS_ERR(REISERFS_I(dir)->i_acl_default)) { 1978 1979 reiserfs_write_unlock_xattrs(dir->i_sb); 1979 1980 iput(inode); 1980 1981 reiserfs_write_lock_xattrs(dir->i_sb); 1981 1982 } else 1983 + #endif 1982 1984 iput(inode); 1983 1985 return err; 1984 1986 }
+6
fs/reiserfs/super.c
··· 510 510 SLAB_CTOR_CONSTRUCTOR) { 511 511 INIT_LIST_HEAD(&ei->i_prealloc_list); 512 512 inode_init_once(&ei->vfs_inode); 513 + #ifdef CONFIG_REISERFS_FS_POSIX_ACL 513 514 ei->i_acl_access = NULL; 514 515 ei->i_acl_default = NULL; 516 + #endif 515 517 } 516 518 } 517 519 ··· 562 560 reiserfs_write_unlock(inode->i_sb); 563 561 } 564 562 563 + #ifdef CONFIG_REISERFS_FS_POSIX_ACL 565 564 static void reiserfs_clear_inode(struct inode *inode) 566 565 { 567 566 struct posix_acl *acl; ··· 577 574 posix_acl_release(acl); 578 575 REISERFS_I(inode)->i_acl_default = NULL; 579 576 } 577 + #else 578 + #define reiserfs_clear_inode NULL 579 + #endif 580 580 581 581 #ifdef CONFIG_QUOTA 582 582 static ssize_t reiserfs_quota_write(struct super_block *, int, const char *,
+17
include/linux/reiserfs_acl.h
··· 56 56 extern int reiserfs_xattr_posix_acl_exit(void); 57 57 extern struct reiserfs_xattr_handler posix_acl_default_handler; 58 58 extern struct reiserfs_xattr_handler posix_acl_access_handler; 59 + 60 + static inline void reiserfs_init_acl_access(struct inode *inode) 61 + { 62 + REISERFS_I(inode)->i_acl_access = NULL; 63 + } 64 + 65 + static inline void reiserfs_init_acl_default(struct inode *inode) 66 + { 67 + REISERFS_I(inode)->i_acl_default = NULL; 68 + } 59 69 #else 60 70 61 71 #define reiserfs_cache_default_acl(inode) 0 ··· 97 87 return 0; 98 88 } 99 89 90 + static inline void reiserfs_init_acl_access(struct inode *inode) 91 + { 92 + } 93 + 94 + static inline void reiserfs_init_acl_default(struct inode *inode) 95 + { 96 + } 100 97 #endif
+2 -1
include/linux/reiserfs_fs_i.h
··· 52 52 ** flushed */ 53 53 unsigned long i_trans_id; 54 54 struct reiserfs_journal_list *i_jl; 55 - 55 + #ifdef CONFIG_REISERFS_FS_POSIX_ACL 56 56 struct posix_acl *i_acl_access; 57 57 struct posix_acl *i_acl_default; 58 + #endif 58 59 #ifdef CONFIG_REISERFS_FS_XATTR 59 60 struct rw_semaphore xattr_sem; 60 61 #endif