浏览代码

[PATCH] reiserfs: ifdef xattr_sem

Shrink reiserfs inode by 12 bytes for xattr non-users (me).

	-reiser_inode_cache     356     11
	+reiser_inode_cache     344     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>
Alexey Dobriyan 18 年之前
父节点
当前提交
068fbb315d
共有 3 个文件被更改,包括 12 次插入2 次删除
  1. 2 2
      fs/reiserfs/inode.c
  2. 2 0
      include/linux/reiserfs_fs_i.h
  3. 8 0
      include/linux/reiserfs_xattr.h

+ 2 - 2
fs/reiserfs/inode.c

@@ -1129,7 +1129,7 @@ static void init_inode(struct inode *inode, struct path *path)
 	REISERFS_I(inode)->i_jl = NULL;
 	REISERFS_I(inode)->i_acl_access = NULL;
 	REISERFS_I(inode)->i_acl_default = NULL;
-	init_rwsem(&REISERFS_I(inode)->xattr_sem);
+	reiserfs_init_xattr_rwsem(inode);
 
 	if (stat_data_v1(ih)) {
 		struct stat_data_v1 *sd =
@@ -1836,7 +1836,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
 	sd_attrs_to_i_attrs(REISERFS_I(inode)->i_attrs, inode);
 	REISERFS_I(inode)->i_acl_access = NULL;
 	REISERFS_I(inode)->i_acl_default = NULL;
-	init_rwsem(&REISERFS_I(inode)->xattr_sem);
+	reiserfs_init_xattr_rwsem(inode);
 
 	if (old_format_only(sb))
 		make_le_item_head(&ih, NULL, KEY_FORMAT_3_5, SD_OFFSET,

+ 2 - 0
include/linux/reiserfs_fs_i.h

@@ -55,7 +55,9 @@ struct reiserfs_inode_info {
 
 	struct posix_acl *i_acl_access;
 	struct posix_acl *i_acl_default;
+#ifdef CONFIG_REISERFS_FS_XATTR
 	struct rw_semaphore xattr_sem;
+#endif
 	struct inode vfs_inode;
 };
 

+ 8 - 0
include/linux/reiserfs_xattr.h

@@ -97,6 +97,11 @@ static inline void reiserfs_mark_inode_private(struct inode *inode)
 	inode->i_flags |= S_PRIVATE;
 }
 
+static inline void reiserfs_init_xattr_rwsem(struct inode *inode)
+{
+	init_rwsem(&REISERFS_I(inode)->xattr_sem);
+}
+
 #else
 
 #define is_reiserfs_priv_object(inode) 0
@@ -129,6 +134,9 @@ static inline int reiserfs_xattr_init(struct super_block *sb, int mount_flags)
 	sb->s_flags = (sb->s_flags & ~MS_POSIXACL);	/* to be sure */
 	return 0;
 };
+static inline void reiserfs_init_xattr_rwsem(struct inode *inode)
+{
+}
 #endif
 
 #endif				/* __KERNEL__ */